Цитата(Jury093 @ Aug 4 2015, 22:11)

пусть после запуска бинарника и успешного возвращения управления скажет "гав!" в uart1..
ну а если завис, то "гав!" пусть не говорит

К сожалению висит, причем намертво
CODE
Debug port init as: UART1
DDR Checking... Done.
SD/MMC1: Init...
F: SD/MMC: Ok
Filesystem: FAT32
Loading <F:hello_world.bin>...Read 276 bytes OK
Dump at 0x10000000 in DDR
[00]=0xE3A00000, [04]=0xE12FFF1E, [08]=0xE598C058, [0C]=0xE59CF000,
[10]=0xE598C058, [14]=0xE59CF004, [18]=0xE598C058, [1C]=0xE59CF008,
[20]=0xE598C058, [24]=0xE59CF00C, [28]=0xE598C058, [2C]=0xE59CF010,
[30]=0xE598C058, [34]=0xE59CF014, [38]=0xE598C058, [3C]=0xE59CF018,
[40]=0xE598C058, [44]=0xE59CF01C, [48]=0xE598C058, [4C]=0xE59CF020,
[50]=0xE598C058, [54]=0xE59CF024, [58]=0xE598C058, [5C]=0xE59CF028,
[60]=0xE598C058, [64]=0xE59CF02C, [68]=0xE598C058, [6C]=0xE59CF030,
[70]=0xE598C058, [74]=0xE59CF034, [78]=0xE598C058, [7C]=0xE59CF038,
[80]=0xE598C058, [84]=0xE59CF03C, [88]=0xE598C058, [8C]=0xE59CF040,
[90]=0xE598C058, [94]=0xE59CF044, [98]=0xE598C058, [9C]=0xE59CF048,
[A0]=0xE598C058, [A4]=0xE59CF04C, [A8]=0xE598C058, [AC]=0xE59CF050,
[B0]=0xE598C058, [B4]=0xE59CF054, [B8]=0xE598C058, [BC]=0xE59CF058,
[C0]=0xE598C058, [C4]=0xE59CF05C, [C8]=0xE598C058, [CC]=0xE59CF060,
[D0]=0xE598C058, [D4]=0xE59CF064, [D8]=0xE598C058, [DC]=0xE59CF068,
[E0]=0xE598C058, [E4]=0xE59CF06C, [E8]=0xE12FFF1E, [EC]=0xE59F3018,
[F0]=0xE3A01000, [F4]=0xE59F2014, [F8]=0xEA000000, [FC]=0xE4C31001,
[100]=0xE1530002, [104]=0x3AFFFFFC, [108]=0xE12FFF1E, [10C]=0x10008114,
[110]=0x10008114, [114]=0x00, [118]=0x00, [11C]=0x00,
Startup...
Процедура запуска -
CODE
#define A5FW_BASE 0x10000000
typedef void (*pFunction)(void);
pFunction Jump_To_Application;
uint32_t JumpAddress;
uint32_t _boot_addr;
void bootloader_boot(void)
{
_boot_addr=A5FW_BASE;
__disable_interrupt();
/* Jump to user application */
JumpAddress = *( uint32_t*) (_boot_addr);
Jump_To_Application = (pFunction) JumpAddress;
/* Initialize user application's Stack Pointer */
// __set_MSP(*(__IO uint32_t*) _boot_addr);
Jump_To_Application();
}
Что еще делать - пока без понятия...