
单片机
HinsShum
一只特立独行的猪...
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
armlink之分散加载文件和 __attribute__((section()))
背景: 因为平时自己有空也在研究uboot的代码,发现在uboot中shell的命令体系很与众不同,因为自己平时理解的命令体系大概分为两种,一种是将shell命令定义在一段数组中,另一种则是用链表的方式将shell命令集串起来,但与uboot实现的命令体系相比,不管是数组还是链表都表现的不够优秀。若是用数组的方式,则必须在定义之时就确定好整个命令集的大小,并且一旦确定就无法更改,若是用链表...原创 2016-10-08 22:29:22 · 5169 阅读 · 0 评论 -
使用分散加载文件设置一段未初始化RAM Section
第一步:设置变量属性uint32_t __attribute__((section("noinit_data"), zero_init)) data;变量必须是属于ZI段的未初始化的全局变量,zero_init即将data设置为ZI段。第二步:设置noinit_data的section的属性LR_IROM1 0x00000000 0x00008000 { ; load regio...原创 2018-09-20 14:32:13 · 1696 阅读 · 0 评论 -
STM8 bootloader(boot和app皆可使用中断)
STM8 In Application ProgrammingIAP编写的三个要点:分析STM8启动过程和C运行时环境建立规划bootloader和application以及各自向量表在内存中的分布如何重定位STM8中断向量表思路:要编写IAP程序首先需要解决的问题是程序在运行过程中,当发生异常时,如何保证程序正常的跳转到相应的异常服务函数(不论程序是运行在bootloader还是...原创 2019-03-29 15:38:52 · 4458 阅读 · 29 评论