cs+工程下,rl78-g13bootloader跳转app问题

您好

        IDE:CS+ for CC 

        编译链:CC-RL

请问一下bootloader和app是否一定需要是一个工程下的两个项目,可否分为两个独立工程,app是否一定需要链接boot生成的fsy文件才能实现跳转;

非常感谢您的回复

Parents Reply Children
  • 是的是的,不好意思,我把static去掉之后就能编译了,但是我bootloader和app中的FLASH_TABLE 都设置为0x4000,然后把app的bin文件烧录到0x4000的位置,boot串口输出完毕后进入while循环,延时几秒后跳出while,但是还是没有进入app,而像是复位了,重新打印了一遍boot的log,是否方便指出我工程中的问题所在,非常感谢您的回复boot&app.rar

  • 你还是认真的读一下样例程序, 然后依样画葫芦对照样例程序的build tool, 和 debug tool的设置, 一项一项的对照, 找出差别, 才知道哪里需要设置, 你自己的工程就成功了.

    boot&app.rar, 两个工程的编译设置都和样例差距太大. 耐心学习样例, 做到事半功倍.

    给你一点提示. boot 和app 就是section定义的起始地址差别. 看看样例是怎么做的, 然后根据你的需要, 偏移相应的地址. 

  • 好的好的,非常感谢您的指导,谢谢!

  • 您好,实在是不好意思,我还是没能成功跳转到app,app中section定义的地址是下图所示的地方吗

  • 非常感谢,在您的指导下我实现了跳转的功能,但是app在运行的过程中好像进不了中断,串口打印也只输出了一个字符,定时器中断计数也没有计数,app中中断是不是添加ftable.asm以及ftable.inc然后在ftable.asm中开启需要的中断函数就可以了,还是需要进行其他的设置,非常感谢您的答复

  • 还是继续学习样例程序. 对比程序和设置, 看看是你的程序哪里设置错了, 这样才能增加认识.(最好的办法就是对照原样例的程序和配置做一遍)

    样例程序--RL78 bootloader via UART for CCRL - Forum - RL78 MCU - Renesas Community

    硬件的中断向量是在boot区(0-7F), 当发生中断是从0-7F跳到 -- > 2000+offset的那个地址(也就是flash.asm 那个虚拟的中断向量表), --> 然后再跳到中断服务程序. 

    --app中中断是不是添加ftable.asm以及ftable.inc然后在ftable.asm中开启需要的中断函数就可以了  这是非常当然的!

    中断能不能执行, 有几个条件, 总中断是否使能, 中断入口地址是否对, 中断是不是条件满足, 该中断是不是使能了, 这些都需要查.

    如果接了仿真板, 仿真器是不是选择正确. 

  • 非常感谢您的指导,我这边按照例程中的APP部分的build tool进行设置,中断使能EI()也执行了,中断条件我这边是发送几个字符,但是串口工具接收不到完整的数据,只收到了第一个字符,定时器也start了,但是在定时器中的计数无变化,中断入口地址是否是ftable.asm中的FLASH_TABLE来定的还是有其他的设置,请您帮忙指正一下,又或者能跳转到app但是进入不了中断跟bootloader中的设置有关吗,感谢您的回复,这是我调试的app的工程,如果方便的话请您帮忙指正一下我的问题,谢谢!csssss.rar

  • 重要的话说三遍, RL78的硬件向量表是在0-7fH, !!!

    App需要和boot程序合起来调试的, boot的build option里面做了一个向量表的映射, 也就是把中断映射到虚拟向量表flash.asm, 必须保证0-7fH里面有如下数据, 才能真正实现中断的完成.

    你的程序在0-7fH没有进行映射, 所以不能实现中断的跳转, 所以只发生了一个数据, 后面就完成不下去了.

  • 这一部分设置好了,app还是不行