请问一下,我在编译boot工程时,出现了这三个warning,0x16 0x18我通过查询手册发现时uart0 的中断,如图二屏蔽掉可以解决 可是没有看到0x2是什么中断,请赐教。
0x2中断, 不需要care, 保留的.按照格式去写就行了.
好的 谢谢,我想问一下 boot工程里 0x16 0x18 的 vect 已定义,也就是这个warning不去管他是不是也没啥影响呢?因为有中断向量映射表,硬件中断发生,比如 boot 中 0x16 硬件中断发生,会偏移到虚拟向量表202c,继而执行 app中的中断服务函数,或者说只要在boot中进行了相应中断的中断映射,那么在boot工程中也就无法使用相应的中断了。
F3000H是镜像区是3000H的镜像, 不可以操作的,
操作的是ff300
app工程里的section分区我也是按照您给的例程设置的,编译还是会报错
我是这样设置的,auto layout是自动分配分区,下面的 section start address 是手动分配分区吗?这两个是互斥的吗?
你一项一项对照样例程序build tool设置, 看看自己设置有什么差别.
黄工,感谢您的指导,app和boot都编译成功了。
因为我是两个工程分开创建的,我想问一一下,我把boot down进板子,上位机 显示如下
然后我给我给上位机发指令2
然后我发送app的bin文件,是不是就自动执行app的程序了呢?
恭喜!
样例程序是使用xmodem格式发送的, 所以你的上位机需要以Xmodem格式发送, 上位机输入2, 加载app的bin文件, boot会接收数据.
黄工,升级失败了,红线圈起来的地方您觉得有问题吗
建议你把样例程序吃透了, 再进行移植和修改, 否则问题多多.
从你的bin文件看有128K, 如果预留的boot是8K的话, 你的程序超过了64K. 所以程序跑到55K以后就出错了, 应该是超过了64K寻址范围.,
从你上面发的MCU memory的图片, 所选的MCU是128K的,
如果你的bin文件128K是App的话, 那肯定是错的, 因为芯片是128K -8K(Boot区), APP只能是120K.
黄工我想问一下上位机为啥会显示我的app程序的 bin文件这么大呢?
你这个是APP的? APP后面加了CRC, 在转换成bin时, 是2000-FFFFH, 或更大, bin的是这个空间的, 所以大
你自己如果有hex软件打开bin, 应该可以看到
对的 这个是我的app程序,但是例程的app也带crc校验,为啥到这里会出问题呢?
你的APP是MCU 不是R5F100LE, 64K的ROM size 吧
r5f10pgg 128k
样例程序是64K的, 128K要考虑寻址问题, uint16_t的指针, 不能满足128K寻址的要求, 需要修改程序.
有点懵,我的app程序应该不大,那么请问如果我只用用到codeflash的前64 k 也要考虑这个寻址问题吗?
和你的代码量没有关系, 你的CRC放置在1FFFF那个附件, 就决定了你的128K空间
问题不在crc 128k这里,在于uint_16 修饰的指针的寻址?
修改你的程序啊, ROM size 大于64K, uint16_t 的指针不能访问超过64K的空间, 就要改成uint32_t