Genode on i.MX6Q Sabre Lite

Stefan Kalkowski stefan.kalkowski at ...1...
Thu Mar 23 09:15:39 CET 2017


Hi,

On 03/23/2017 04:10 AM, Yevgeny Lavrov wrote:
> I've made the necessary changes to UART variables, and lowered the
> amount of RAM by making RAM0_SIZE = 0x20000000. After executing the
> image.elf on Sabre Lite, I got the following output:
> 
> ## Starting application at 0x10001000
> ...                                                                                                                   
> 
> :virt_alloc: Allocator 0x200f40b4
> dump:                                                                                                                     
> 
>  Block: [0x1000,0x10001000] size=0x10000000 avail=0x10000000
> max_avail=0x10000000                                                                           
> 
>  Block: [0x105ad000,0x20001000] size=0xfa54000 avail=0xfa54000
> max_avail=0xbfe5b000                                                                         
> 
>  Block: [0x201a4000,0x201a5000] size=0x1000 avail=0x0
> max_avail=0x0                                                                                         
> 
>  Block: [0x201a5000,0xe0000000] size=0xbfe5b000 avail=0xbfe5b000
> max_avail=0xbfe5b000                                                                       
> 
>  Block: [0xf0004000,0xf0005000] size=0x1000 avail=0x0
> max_avail=0xbfe5b000                                                                                  
> 
>  Block: [0xf0007000,0xf0008000] size=0x1000 avail=0x0
> max_avail=0x0                                                                                         
> 
>  Block: [0xf0009000,0xf000a000] size=0x1000 avail=0x0
> max_avail=0xffe5000                                                                                   
> 
>  Block: [0xf000a000,0xfffef000] size=0xffe5000 avail=0xffe5000
> max_avail=0xffe5000                                                                          
> 
>  => mem_size=4018765824 (3832 MB) / mem_avail=4018749440 (3832
> MB)                                                                                          
> 
>                                                                                                                                                             
> 
> :phys_alloc: Allocator 0x200f3048
> dump:                                                                                                                     
> 
>  Block: [0x1061f000,0x10620000] size=0x1000 avail=0x0
> max_avail=0x0                                                                                         
> 
>  Block: [0x10620000,0x10621000] size=0x1000 avail=0x0
> max_avail=0x1f9dd000                                                                                  
> 
>  Block: [0x10621000,0x10622000] size=0x1000 avail=0x0
> max_avail=0x0                                                                                         
> 
>  Block: [0x10622000,0x10623000] size=0x1000 avail=0x0
> max_avail=0x1f9dd000                                                                                  
> 
>  Block: [0x10623000,0x30000000] size=0x1f9dd000 avail=0x1f9dd000
> max_avail=0x1f9dd000                                                                       
> 
>  => mem_size=530452480 (505 MB) / mem_avail=530436096 (505
> MB)                                                                                              
> 
>                                                                                                                                                             
> 
> :io_mem_alloc: Allocator 0x200f512c
> dump:                                                                                                                   
> 
>  Block: [0x0,0x1061f000] size=0x1061f000 avail=0x1061f000
> max_avail=0xcfffffff                                                                              
> 
>  Block: [0x30000000,0xffffffff] size=0xcfffffff avail=0xcfffffff
> max_avail=0xcfffffff                                                                       
> 
>  => mem_size=3764514815 (3590 MB) / mem_avail=3764514815 (3590
> MB)                                                                                          
> 
>                                                                                                                                                             
> 
> :io_port_alloc: Allocator 0x200f6198
> dump:                                                                                                                  
> 
>  => mem_size=0 (0 MB) / mem_avail=0 (0
> MB)                                                                                                                  
> 
>                                                                                                                                                             
> 
> :irq_alloc: Allocator 0x200f7204
> dump:                                                                                                                      
> 
>  Block: [0x0,0x1] size=0x1 avail=0x1
> max_avail=0x1                                                                                                          
> 
>  Block: [0x2,0x1d] size=0x1b avail=0x1b
> max_avail=0x3e2                                                                                                     
> 
>  Block: [0x1e,0x400] size=0x3e2 avail=0x3e2
> max_avail=0x3e2                                                                                                 
> 
>  => mem_size=1022 (0 MB) / mem_avail=1022 (0
> MB)                                                                                                            
> 
>                                                                                                                                                             
> 
> :rom_fs: ROM
> modules:                                                                                                                                       
> 
>  ROM: [101a6000,101a6158)
> config                                                                                                                            
> 
>  ROM: [10182000,101a2178)
> init                                                                                                                              
> 
>  ROM: [10105000,101819a4) ld.lib.so
> <http://ld.lib.so>                                                                                                                         
> 
>  ROM: [101a3000,101a5598)
> test-log                                                                                                                          
> 
>                                                                                                                                                             
>                                                                                                                                                        
> 
> kernel
> initialized                                                                                                                                          
> 
> Genode
> 17.02                                                                                                                                                
> 
> 504 MiB RAM assigned to
> init                                                                                                                                
> 
> [init -> test-log] hex range:         
> [0e00,1680)                                                                                                          
> 
> [init -> test-log] empty hex range:    [0abc0000,0abc0000)
> (empty!)                                                                                         
> 
> [init -> test-log] hex range to limit:
> [f8,ff]                                                                                                              
> 
> [init -> test-log] invalid hex range:  [f8,08)
> (overflow!)                                                                                                  
> 
> [init -> test-log] negative hex char: 
> 0xfe                                                                                                                 
> 
> [init -> test-log] positive hex char: 
> 0x02                                                                                                                 
> 
> [init -> test-log] multiarg string:    "parent ->
> child.7"                                                                                                  
> 
> [init -> test-log] String(Hex(3)):    
> 0x3                                                                                                                  
> 
> [init -> test-log] Test done.
> 
> Is this the desired output from "log"?
> 
> Thanks

Exactly!

Regards Stefan

> 
> On Wed, Mar 22, 2017 at 6:56 AM, Stefan Kalkowski
> <stefan.kalkowski at ...1...
> <mailto:stefan.kalkowski at ...1...>> wrote:
> 
>     Hi,
> 
>     On 03/22/2017 08:14 AM, Yevgeny Lavrov wrote:
>     > Hi
>     >
>     > Thanks for the hint. You're correct about the UART, they are different.
>     > Wand uses UART1 = 0x02020000 while Sabre Lite uses UART2 which is 0x021e800.
>     > I tried Genode 15.02 from the institute of
>     > Madras:|https://github.com/iitmadras/genode/tree/hw_sabrelite_tz_support
>     <https://github.com/iitmadras/genode/tree/hw_sabrelite_tz_support>
>     > <https://github.com/iitmadras/genode/tree/hw_sabrelite_tz_support
>     <https://github.com/iitmadras/genode/tree/hw_sabrelite_tz_support>>|,
>     > simple run/printf for now, and it works. I currently use it as a
>     > reference. After comparing board_base.h files for i.MX6 platform, I
>     > noticed that specifically for Sabre Lite the values in the board_base.h
>     > from Madras are set to:
>     >
>     > UART_1_IRQ = 57,
>     > UART_1_MMIO_BASE = 0x021e8000,
>     >
>     > while for Wandboard, they are the same as in Genode 17.02.
>     >
>     > I don't think that adjusting UART will be as simple as copying these
>     > values over to Genode 17.02
>     > /repos/base/include/spec/imx6/drivers/board_base.h So if there are any
>     > other files involved, would you please tell me what those files are so I
>     > know exactly what to look for?
> 
>     well, if you just want to adjust the code to replace the Wandboard
>     definitions with your i.MX 6Q Sabre Lite, it is actually that simple.
>     You only have to change the settings in above mentioned file with in the
>     17.02 release.
> 
>     If you want to add support of your board beside of the Wandboard
>     support, you will have to insert a new layer of board definition. But
>     being in your position I would first change the current Wandboard
>     settings to see whether it works in general.
> 
>     >
>     > How would I lower the RAM size for my build, and what files are involved?
> 
>     It is the very same file. You have to change the value of RAM0_SIZE.
> 
>     Regards
>     Stefan
> 
>     >
>     > Thank you
>     >
>     > On Thu, Mar 2, 2017 at 4:53 AM, Stefan Kalkowski
>     > <stefan.kalkowski at ...1...
>     <mailto:stefan.kalkowski at ...1...>
>     > <mailto:stefan.kalkowski at ...1...
>     <mailto:stefan.kalkowski at ...1...>>> wrote:
>     >
>     >     Hi,
>     >
>     >     well, just because both boards Wandboard and i.MX 6Q Sabre
>     Lite are
>     >     using the same system-on-chip (SoC) does not mean they are
>     identical. So
>     >     if you are hesitant to start instrumenting the startup code,
>     e.g., via
>     >     additional log() calls, you can at least compare the high level
>     >     description of the boards. One main issue is which memory
>     slots are used
>     >     by which board, and which UART within the SoC is used for the
>     serial
>     >     line connector of the board.
>     >
>     >     One thing that was striking me first when looking at high-level
>     >     description of the Sabre Lite board is that is has just 1 GB
>     of RAM,
>     >     whereby the Wandboard has 2 GB. This is obviously an issue. When
>     >     lowering the RAM size for your setup you potentially will get
>     one step
>     >     ahead. But if they are using different UARTs you will not see
>     any log
>     >     message anyway. In that case you have to check whether both
>     boards use
>     >     the same UART.
>     >
>     >     Regards
>     >     Stefan
>     >
>     >     On 03/01/2017 08:28 PM, Yevgeny Lavrov wrote:
>     >     > Hello
>     >     >
>     >     > Is there anything from Genode that I can try on i.MX6Q Sabre
>     Lite
>     >     > development board? So far I've already attempted *log* image
>     that I've
>     >     > obtained from compiling Genode for i.MX6 based Wandboard.
>     The fastboot
>     >     > option that gets executed after *$ make run/log *resulted in
>     >     nothing, so
>     >     > I've also tried to copy the created images onto SD Card and
>     run them
>     >     > directly on the board.
>     >     >
>     >     > Steps:
>     >     > Once in u-boot prompt
>     >     >
>     >     > => fatload mmc 0 0x30000000 image.elf
>     >     > reading
>     >     > image.elf
>     >     >
>     >     > 1716880 bytes read in 107 ms (15.3 MiB/s)
>     >     > => bootelf 0x30000000
>     >     > ## Starting application at 0x10001000 ...
>     >     >
>     >     > Then the terminal hangs w/o any output.
>     >     >
>     >     > Same thing happens when executing uImage
>     >     > => fatload mmc 0 0x30000000 uImage
>     >     > reading uImage
>     >     > 594679 bytes read in 48 ms (11.8 MiB/s)
>     >     > => bootm 0x30000000
>     >     >
>     >     > Terminal hangs once it reaches: Starting kernel ...
>     >     >
>     >     > Any suggestions on what's wrong?
>     >     >
>     >     > Thank you
>     >     >
>     >     >
>     >     >
>     >     >
>     >     >
>     >   
>      ------------------------------------------------------------------------------
>     >     > Check out the vibrant tech community on one of the world's most
>     >     > engaging tech sites, SlashDot.org! http://sdm.link/slashdot
>     >     >
>     >     >
>     >     >
>     >     > _______________________________________________
>     >     > genode-main mailing list
>     >     > genode-main at lists.sourceforge.net
>     <mailto:genode-main at lists.sourceforge.net>
>     >     <mailto:genode-main at lists.sourceforge.net
>     <mailto:genode-main at lists.sourceforge.net>>
>     >     > https://lists.sourceforge.net/lists/listinfo/genode-main
>     <https://lists.sourceforge.net/lists/listinfo/genode-main>
>     >     <https://lists.sourceforge.net/lists/listinfo/genode-main
>     <https://lists.sourceforge.net/lists/listinfo/genode-main>>
>     >     >
>     >
>     >     --
>     >     Stefan Kalkowski
>     >     Genode Labs
>     >
>     >     https://github.com/skalk · http://genode.org/
>     >
>     >     ------------------------------------------------------------------------------
>     >     Check out the vibrant tech community on one of the world's most
>     >     engaging tech sites, SlashDot.org! http://sdm.link/slashdot
>     >     _______________________________________________
>     >     genode-main mailing list
>     >     genode-main at lists.sourceforge.net
>     <mailto:genode-main at lists.sourceforge.net>
>     >     <mailto:genode-main at lists.sourceforge.net
>     <mailto:genode-main at lists.sourceforge.net>>
>     >     https://lists.sourceforge.net/lists/listinfo/genode-main
>     <https://lists.sourceforge.net/lists/listinfo/genode-main>
>     >     <https://lists.sourceforge.net/lists/listinfo/genode-main
>     <https://lists.sourceforge.net/lists/listinfo/genode-main>>
>     >
>     >
>     >
>     >
>     > ------------------------------------------------------------------------------
>     > Check out the vibrant tech community on one of the world's most
>     > engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>     >
>     >
>     >
>     > _______________________________________________
>     > genode-main mailing list
>     > genode-main at lists.sourceforge.net
>     <mailto:genode-main at lists.sourceforge.net>
>     > https://lists.sourceforge.net/lists/listinfo/genode-main
>     <https://lists.sourceforge.net/lists/listinfo/genode-main>
>     >
> 
>     --
>     Stefan Kalkowski
>     Genode Labs
> 
>     https://github.com/skalk · http://genode.org/
> 
>     ------------------------------------------------------------------------------
>     Check out the vibrant tech community on one of the world's most
>     engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>     _______________________________________________
>     genode-main mailing list
>     genode-main at lists.sourceforge.net
>     <mailto:genode-main at lists.sourceforge.net>
>     https://lists.sourceforge.net/lists/listinfo/genode-main
>     <https://lists.sourceforge.net/lists/listinfo/genode-main>
> 
> 
> 
> 
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> 
> 
> 
> _______________________________________________
> genode-main mailing list
> genode-main at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/genode-main
> 

-- 
Stefan Kalkowski
Genode Labs

https://github.com/skalk · http://genode.org/




More information about the users mailing list