自己用C语言写RH850 F1L serial bootloader
了解更多关于bootloader 的C语言实现,请加我QQ: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序)。
由于有了RH850 F1KM bootloader的经验,F1L C语言bootloader的开发比较顺利。由于上位机是HyperTerminal, 这个bootloader 我叫它hyperbootloder_F1L, 下面就简单介绍下,相比较hyperbootloader_F1KM, 它有以下不同
1. hdwinit
2. memory map
3. FCL 宏
首先介绍hdwinit的不同,在boot.asm文件中,代码都是汇编,但是看懂问题不大。比较坑人的是,新建CS+工程时,已经选择了正确的芯片型号,完了,自动生成的boot.asm文件中hdwinit, 既然还有以下提示:
;-----------------------------------------------------------------------------
; hdwinit
; Specify RAM addresses suitable to your system if needed.
;-----------------------------------------------------------------------------
CS+, 太蠢,为什么就不能生成不用调整直接就可以用的呢? 通过查看datasheet后,我的改动如下
RETENTION_RAM_ADDR .set 0xfee00000
RETENTION_RAM_END .set 0xfee07fff .align 2
_hdwinit:
mov lp, r14 ; save return address mov RETENTION_RAM_ADDR, r6
mov RETENTION_RAM_END, r7
jarl _zeroclr4, lp ; clear Retention RAM mov r14, lp
jmp [lp]
接下来是介绍memory map的不同, F1KM R7F701684 是1M 的code flash, 容量非常大,memory map 随手定义的,bootloader 是 0~0x17FFF, application 是 0x18000 ~ 0xFFFFF。 bootloader 实际上不需要那么大的空间。F1L我用的是 R7F701011, code flash 只有256K的容量,所以我重新规划了memory map, bootloader 区间是0~0x0FFFF, application 区间是 0x10000~0x3FFFF. 其实bootloader区间还可以继续缩小。
接下了就是最大的坑了,在FCL library 里面有个文件 fcl_cfg.h. 在这个文件中一定不能define R_FCL_NO_BFA_SWITCH, 否则调用FCL API时一直会有exception. debug时的现象就是FCL OPEN时会跳到exception handler (中断程序)中去,具体是哪种exception我没有去探究。总之这个一定要注意,在FCL user manual中有提到F1KM 等一些芯片需要得define R_FCL_NO_BFA_SWITCH 这个宏。 F1L 不需要,所以一定不要define.
//#define R_FCL_NO_BFA_SWITCH
hyperbootloder_F1L 和 hyperbootloader_F1KM 一样非常简单好用,不需要写上位机,直接用超级终端hyperTerminal就可以,很适合实验室或开发阶段使用。
自己用C语言写RH850 F1L serial bootloader的更多相关文章
- 自己用C语言写RH850 F1KM serial bootloader
了解更多关于bootloader 的C语言实现,请加我QQ: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序). 手上有块Renesas ...
- 自己用C语言写dsPIC / PIC24 serial bootloader
了解更多关于bootloader 的C语言实现,请加我QQ: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序). HyperBootlo ...
- 自己用C语言写单片机PIC18 serial bootloader
了解更多关于bootloader 的C语言实现,请加我QQ: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序). HyperBootlo ...
- 自己用C语言写单片机PIC16 serial bootloader
了解更多关于bootloader 的C语言实现,请加我QQ: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序). 为什么自己写bootl ...
- 自己用C语言写NXP S32K144 serial bootloader
了解更多关于bootloader 的C语言实现,请加我QQ: 1273623966 (验证信息请填 bootloader) 欢迎咨询或定制bootloader(在线升级程序). NXP S32K144 ...
- C语言RH850 F1L serial bootloader和C#语言bootloader PC端串口通信程序
了解更多关于bootloader 的C语言实现,请加我QQ: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程 ...
- 自己用C语言写NXP S32K116 serial bootloader
了解更多关于bootloader 的C语言实现,请加我QQ: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序). 每次我有了新的EVA ...
- C语言RH850 F1KM serial bootloader和C#语言bootloader PC端串口通信程序
了解更多关于bootloader 的C语言实现,请加我QQ: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序). 今天我要介绍的RH85 ...
- C语言dsPIC / PIC24 serial bootloader和C#语言bootloader PC端串口通信程序
了解更多关于bootloader 的C语言实现,请加我QQ: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序). 新dsPIC/PIC2 ...
随机推荐
- 干货!SQL性能优化,书写高质量SQL语句
写SQL语句的时候我们往往关注的是SQL的执行结果,但是是否真的关注了SQL的执行效率,是否注意了SQL的写法规范? 以下的干货分享是在实际开发过程中总结的,希望对大家有所帮助! 1. limit分页 ...
- exp2:// 一次存储型XSS从易到难的挖掘过程
一日在某站点发现一个找茬活动,感觉是另类的src就参与了一下.就发生了这次有趣的XSS测试过程. 0×00 开始 (注意1)XSS不仅存在于页面上直观所在的位置,所有用户输入的信息都有可能通过不同形式 ...
- 通过示例学习rholang(上部:课程0-6)
通过例子和实践来学习rho语言.下面的例子和练习都很值得去运行.阅读.修改和完善.修改练习和教程中任何你感到有意思的代码,这样能够获得最好的学习效果.该教程包含了rho语言最常见以及最重要的特性,足以 ...
- SpringBoot实现简单的CRUD
CRUD-员工列表 实验要求: 1).RestfulCRUD:CRUD满足Rest风格: URI: /资源名称/资源标识 HTTP请求方式区分对资源CRUD操作 2).实验的请求架构; 3).员工列表 ...
- Django自定义认证系统
官网教程:https://docs.djangoproject.com/en/2.2/topics/auth/customizing/ app下的model.py from django.db imp ...
- Image Retargeting - 图像缩略图 图像重定向
Image Retargeting 图像缩略图.图像重定向 前言 这篇文章主要对比DL出现之前的几种上古算法,为了作为DL方法的引子而存在,顺便博客也该更新点新内容上来了,这篇博文就是介绍了我最近在玩 ...
- 解决warning: #181-D: argument is incompatible with corresponding format string conversion警告
uint8_t NetRSSI=0;uint8_t NetBer=0;uint8_t failtime=0; sscanf(&USART_RX_BUF[0],"%*s%u,%u&qu ...
- 前端url参数中带有callback并产生错误
错误截图: 初步诊断是由于后端返回值的数据格式不正确造成的 解决方式: 1).接受在springmvc中接受callback参数 2).将对象转为Object 3).拼接callback方法,其中返回 ...
- 【读书笔记】关于《精通C#(第6版)》与《C#5.0图解教程》中的一点矛盾的地方
志铭-2020年2月8日 03:32:03 先说明,这是一个旧问题,很久很久以前大家就讨论了, 哈哈哈,而且先声明这是一个很无聊的问题,
- CAD制图系列之如何画内切圆
今天我将记录我们如何画一个大圆,里面均匀内切四个小圆 具体步骤如下: 第一步:首先,先画一个十字架,用于作为轴 第二步:以十字架交点为圆心,画一个半径为25的圆 第三步:以中点为坐标画四十五度斜线,方 ...