Changes between Version 29 and Version 30 of TBR/BSP/Beagleboard


Ignore:
Timestamp:
05/27/15 20:38:03 (9 years ago)
Author:
Isaac Gutekunst
Comment:

Moved text to code block for clarity

Legend:

Unmodified
Added
Removed
Modified
  • TBR/BSP/Beagleboard

    v29 v30  
    5050
    5151If you want to track the RTEMS master repo and Ben's WIP branch try the following:
    52 
     52{{{
    5353  $ git clone git://git.rtems.org/data/rtems.git
    5454  Cloning into 'rtems'...
     
    7575  $ git checkout beaglebone-wip
    7676  Switched to branch 'beaglebone-wip'
     77}}}
    7778
    7879To update the branch to the current master fetch the origin then:
    7980
     81{{{
    8082  $ git checkout beaglebone-wip
    8183  Switched to branch 'beaglebone-wip'
     
    8789  Applying: nothing
    8890  ....
     91
     92}}}
    8993= Debugging =
    9094
     
    97101
    98102To run OpenOCD:
    99 
     103{{{
    100104  $ curl http://www.rtems.org/ftp/pub/rtems/people/chrisj/beagle/bbxm.cfg > bbxm.cfg
    101105  $ ~/development/openocd/git/bin/openocd -f bbxm.cfg -c "reset"
     
    122126  dm37x.cpu: cpsr: 0x000001f3 pc: 0x00015dec
    123127  dm37x.cpu: MMU: disabled, D-Cache: disabled, I-Cache: enabled
    124 
    125 The file http://www.rtems.org/ftp/pub/rtems/people/chrisj/beagle/bbxm.cfg contains initialisation sequence needed to get the board set up so code can be downloaded into RAM. The sequence is from the cunnig capture Ben did with qemu.
     128}}}
     129
     130The file http://www.rtems.org/ftp/pub/rtems/people/chrisj/beagle/bbxm.cfg contains initialization sequence needed to get the board set up so code can be downloaded into RAM. The sequence is from the cunnig capture Ben did with qemu.
    126131= Building U-Boot =
    127132
    128133
    129134To build U-Boot:
    130 
     135{{{
    131136 $ git clone git://git.denx.de/u-boot.git
    132137 $ cd u-boot
     
    136141 $ gmake CROSS_COMPILE=arm-rtems4.11- omap3_beagle_config
    137142 $ gmake CROSS_COMPILE=arm-rtems4.11-
     143}}}
    138144
    139145Note: I use FreeBSD so gmake is required.
    140146
    141147U-Boot can be run via JTAG. Start OpenOCD and then run:
    142 
     148{{{
    143149 $ arm-rtems4.11-gdb u-boot
    144150 GNU gdb (GDB) 7.6.2
     
    198204 (gdb) c
    199205
     206}}}
     207
     208
    200209On the console serial port with a baudrate of 115200 I see:
    201210
     211{{{
    202212 U-Boot 2014.04 (Apr 16 2014 - 13:16:21)
    203213 
     
    219229 Hit any key to stop autoboot:  0
    220230 OMAP3 beagleboard.org #
     231
     232}}}
     233
     234
    221235=  Initializing the SOC without bootcode  =
    222236
     
    229243
    230244However booting an SD-card with MLO and U-Boot on it from a qemu does let me record the i/o operations it does. I added this code to qemu:
    231 
     245{{{
    232246   index aab4a31..2c357d1 100644
    233247   --- a/memory.c
     
    277291        if (!mr->ops->write) {
    278292
     293}}}
     294
    279295and put the resulting commands in the reset-init hook of the openocd target config. I included the reads just in case the HW behaviour is affected by it. The list is unnecessarily long but I haven't bothered trimming it yet before I see it actually working. This gets very far in initializing the device. I can load an .exe now from gdb and the disassembly looks okay so I assume the RAM writing is working. But it has an exception on the first instruction. I haven't figured out why. I have seen hello.exe execute properly once so I'm sure it's close.
    280296