完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
你好,
我写了一个bootloader,使用CAN进行在线升级,bootloader放在A/B/C/D四个扇区,从E扇区(0x88000)开始放APP,flash读写使用ti提供的库。升级使用的bin文件是使用ccs的hex转换工具转换出来的 我的流程是: 1、上电后进入bootloader,在bootloader中时钟、串口(调试用)和can初始化完成后等待can数据升级指令 2、若can收到升级指令,初始化flash api,然后接收bin文件写入flash。写入完成后从flash读出进行一个简单的校验,若校验通过则跳转到APP 3、若5秒钟没有收到can升级指令,直接跳转至APP 我的跳转函数 void run_app(void) [ void (*app)(void); app = (void(*) (void) )(APP_ADDRESS); app(); ] 我的问题是无法跳转到APP,执行完跳转函数后有两种情况:1、又进入到了bootloader(通过串口输出看到的),2、串 口没有任何消息(怀疑死在app中) 针对这个问题我做了一些测试: 1、使用ccs将固件烧写进去(不擦除bootloader),上电启动后进入bootloader中等待5秒钟,然后跳转可以跳转成功,证明跳转函数没问题? 2、由于转换工具转换hex到bin时将ff都写为了0,怀疑这个有影响,所以在bootloader中将通过ccs写入的固件读出,用串口发送给pc保存成bin文件,然后再通过can将这个文件升级到DSP的app位置,依然不能正确跳转 3、设置ccs,debug时只校验不擦写和写入,校验可以通过并且能够debug,说明我写入flash的固件是完全正确的。但是debug时会停在时钟初始化的一个状态等待中:sysctlclockset函数中 clkcfgregs.syspllctl1.bit.pllen =1; while(clkcfgregs.syspllsts.bit.locks !=1)[]; 并且观察寄存器发现clkcfgregs.syspllctl1.bit.pllen并不是1. 另外APP的CMD文件中BEGIN设置为APP的起始地址0x88000,APP从E扇区0x88002开始存放 请问,我这个问题的是什么原因造成的? |
|
相关推荐
4 个讨论
|
|
谢谢! 我的问题已经找到了,是由于APP里面,在initflash()函数中使能了ECC。只要关掉ECC就可以正常跳转,运行APP。而且我在写bootloader时也发现了这个ECC的问题,当我打开ECC时,我把我写入FLASH的数据再读出来时发现读出的数据不对,但是在CSS的memory browser窗口看对应地址的数据却是正确的,如果关掉ECC我读出的数据就会正确。请问这个问题在哪里?是不是我使用FLASH API的方法不对? |
|
|
|
|
|
cmh14 发表于 2018-9-18 09:22 ECC功能的话,如果你芯片使能了ECC模块,那么必须在写入数据的同时,也写入ECC校验码,不然,芯片在执行的时候就会报ECC的错。 ERIC - ERIC |
|
|
|
|
|
只有小组成员才能发言,加入小组>>
356 浏览 1 评论
549 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
795 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
665 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1141 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
91浏览 29评论
357浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
267浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
217浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
70浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-30 06:47 , Processed in 1.016402 second(s), Total 50, Slave 42 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号