手头有一块beaglebone的板子,原先用startware中的boot和beaglebone的历程中的gpio闪灯程序,编译好后,用sd卡格式化工具吧MLO和APP灌入卡,是可以正常运行的。
因为项目需要用SYSBIOS做了一个project,用在线JTAG调试是可以跑起来的,功能也正常,但当我想用同样的方法,用startware中的bootload来挂起我新的project的时候,无法运行了。但从串口打印来看,出来的信息显示boot那块的程序起来了,而且也已经提示jumpping到我的app里面了,但灯怎么也不闪,应该是我的程序没跑起来。
首先从CCS编译生成out,然后用mkhex4bin转换成bin这步我也研究了一下,后来仿着startware的语法,把这步也实现了,问题不太大。
现在主要怀疑是不是我的项目编译链接后的entrypoint和statrware中的例子gpio的entrypoint不同导致,因为我比较了下两者的map文件,
能用的例程里面,entrypoint的名称是Entry,然后地址正好是ddr的首地址0x80000000
而我的程序不能用,他的entrypoint是默认的_int_00,地址是ddr中间的一个地址0x800004b2,并非首地址
会不会是这个原因呢?
有什么办法能解决这个问题呢?
谢谢
Tony Tang:
按照自己的程序编译后map文件里的entry_point设置。