Quantcast
Channel: Embedded Software (Read Only)
Viewing all articles
Browse latest Browse all 25965

Forum Post: RE: How to install SYS/BIOS on Beaglebone Black

$
0
0

I did get SYSBIOS running on BBWhite, and the solution probably applies to BBB as well.  From my development diary:

There was some discussion on the TI e2e site on making an application suitable for loading and running by the boot loader.  The requirement is that the program entry point be at the first word of the load image.  This is a linker function.  There is no configuration in SYS/BIOS to force it’s C initialization routine, _c_int00, to the beginning of the load image.  The article http://processors.wiki.ti.com/index.php/Accessing_c_int00 gives the clue. 

So I created a linker command file to do just his.  The relevant excerpts are:

/*
 This command file is a hook to force the SYS/BIOS C inititialization
 code to the start of memory space.  This is needed because the boot
 loader simply loads the image to the destination and jumps there.
*/

/*
 This file must be called by the linker BEFORE the generated linker.cmd.
 To do this, the link order must be modified in the project Build settings

 CCS Build -> Link Order, select Add, then check
 "Generated Linker Command Files", and this file.
 Use the UP/DOWN buttons to make this file first in the list.
*/


/* Define a section for booting, define the address, input the code. */
/* The module name comes from the link map.                          */
SECTIONS
{
    boot : > 0x80000000
    {
        *<boot.oea8fnv>(.text)
     }
}

And then it builds an image MLO can load and run, with the MLO required header prepended of course.


Viewing all articles
Browse latest Browse all 25965

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>