今天板子刚到,新建的第一个工程就报错了. .\Objects\cse.sct(7): error: L6236E: No section matches selector - no section to be FIRST/LAST. 网上查了一下说什么启动文件没添加,可是他们都没说在哪添加启动文件,我第一次搞这个我也不知道. 这时我在stackoverflow里搜到了这个问题. 题主遇到的问题和我遇到的一样,然后下边有答主这样说: --------------------------------…
1. 使用KEIL MDK ,STM32F405RG,编译的时候报错 .\Objects\ks3620_stm32f405_proj.sct(): error: L6236E: No section matches selector - no section to be FIRST/LAST. 看下LOG窗口 2. 看下出错的位置 3. sct文件,全称是scatter file,中文名分散加载文件,上面可以看出IROM就是单片机的 flash区域,IRAM就是单片机的RAM区域. 4. 说是找…
点击错误信息,跳转到了一个.sct文件:*.o (RESET, +First) 按照如下操作,也不能解决问题.对比别的工程,也没找出问题. "操作是: Options for Target ' xxxx ',里面的Linker选项下面: 1.去掉勾选 Use Memory Layout from Target Dialog 2.清空 Acatter File里面的内容 " 后来重新捋了一下过程.我是从别人的项目继承过来的,原来是mdk4.7,并且是自带了很多"系统文件&quo…
解决措施http://blog.csdn.net/chenbang110/article/details/7586244…
顺利创建了第一个Keil工程却发现不能完成链接,出现了一个下面这样的报错: .\Objects\demo_simple.sct(7): error: L6236E: No section matches selector - no section to be FIRST/LAST. 通过反复尝试发现,出现这个问题的原因是缺少了启动代码.只需要在pack管理中增加启动代码即可.具体解决方法如下: 1,通过如下操作进入到pack管理 2,增加启动代码的勾选 3,点击确认后会发现工程中增加了启动代码文…
要解决一个问题就怕不知道怎么搜索,或是别人没有遇到过: 同样碰到Keil MDK Debug调试无法设置断点问题,首先来问百度,GOOGLE,一下是我搜索到的结果:   1.keil 不能设置断点,每次点调试都出现以下对话框, 有几个按钮不能点. 解决办法:购买正版Keil或够找破解包,worldsing笔记里有(仅供学习用),商业请支持正版:   2.软件能Debug, 硬件无法Debug, 硬件仿真Debug时提示: **JLink Warning: T-bit of XPSR is 0 b…
工作后从单片机转成ARM,刚开始用ADS1.2编译器,用了一段时间,因为我接手的项目的老程序正是用ADS编译的,部门也大都在用.在学单片机的时候用的是keil c51编译器,ads和这个编译器在易用性上真是无法比较.后来渐渐知道keil已经被arm公司收购,现在keil MDK成为了arm官方编译器,所以决定重新投奔keil,利用平时的时间,将原程序重新用mdk编译.mdk的优点就没必要说了,在这里把平时遇到的编译器给出的警告和错误信息给出详解,希望给初学者一点帮助,发现错误,需要补充的欢迎留言…
一些工控产品,当系统复位后(非上电复位),可能要求保持住复位前RAM中的数据,用来快速恢复现场,或者不至于因瞬间复位而重启现场设备.而keil mdk在默认情况下,任何形式的复位都会将RAM区的非初始化变量数据清零.如何设置非初始化数据变量不被零初始化,这是本篇文章所要探讨的. 在给出方法之前,先来了解一下代码和数据的存放规则.属性,以及复位后为何默认非初始化变量所在RAM都被初始化为零了呢. 什么是初始化数据变量,什么又是非初始化数据变量?(因为我的文字描述不一定准确,所以喜欢举一些例子来辅助…
源:keil mdk中如何确保某一段程序不被优化掉 使用mdk编程,假如有一个有用的函数你定义了但是没有显式的调用,mdk在默认方式下,将会把这个函数从整个程序总删除掉,以节省ROM. 比如,你在ROM的0x00002000处定位了一个函数,假设为void test(void),然后使用函数指针来调用它: void (*UserProgram)();          //函数指针 UserProgram = (void (*)()) (0x00002000);//定位到指定的入口地址0x000…
源:Keil MDK下如何设置非零初始化变量 一些工控产品,当系统复位后(非上电复位),可能要求保持住复位前RAM中的数据,用来快速恢复现场,或者不至于因瞬间复位而重启现场设备.而keil mdk在默认情况下,任何形式的复位都会将RAM区的非初始化变量数据清零.如何设置非初始化数据变量不被零初始化,这是本篇文章所要探讨的. 在给出方法之前,先来了解一下代码和数据的存放规则.属性,以及复位后为何默认非初始化变量所在RAM都被初始化为零了呢. 什么是初始化数据变量,什么又是非初始化数据变量?(因为我…