Blackfin `uboot’ will now boot my own application code!
It seems uboot is running in supervisor mode; you can write a simple C program:
#define pFIO_FLAG_S ((unsigned short *)0xffc00708)
#define pFIO_FLAG_C ((unsigned short *)0xffc00704)
#define pFIO_DIR ((unsigned short *)0xffc00730)
start()
{
// PF2 configured as output
*pFIO_DIR |= (1 << 2);
// PF2 low, LED is HIGH
*pFIO_FLAG_C = (1 << 2);
while(1);
}
and compile it without linking the standard libs:
bfin-elf-gcc -nostdlib -Ttext=1000 os.c
we are setting the address of _start to 1000; we will now load the code at 1000
from uboot:
tftp 0x1000000 a.out bootelf 0x1000000
The LED on the board has lighted up!
0 responses so far ↓
There are no comments yet...Kick things off by filling out the form below.
Leave a Comment