s3c2440移植u-boot-2012.04.01中关于重新赋值sp的bug

s3c2440移植u-boot-2012.04.01中关于重新赋值sp的bug

u-boot-2012.04.01\arch\arm\cpu\arm920t\start.S中

	ldr	r0,=0x00000000
	bl	board_init_f
	ldr sp,_addr_sp
	ldr r0, _addr_id
	ldr r1, _TEXT_BASE
	bl board_init_r

程序完成board_init_f函数中的打印后似乎无法进入board_init_r函数中

Bug点:

由于在u-boot-2012.04.01\include\common.h中:

void	board_init_f  (ulong) __attribute__ ((noreturn));

board_init_f函数属性__attribute__定义为noreturn(即函数执行完后不返回原来被调用之处),所以程序跑飞无法进入board_init_r

修改后代码:

void	board_init_f  (ulong);

重新编译烧写,运行正常

猜你喜欢

转载自blog.csdn.net/weixin_42666958/article/details/88095755