keil
StrongerSun
虽千里,吾往矣。
展开
-
FCARM - Output Name not specified, please check ‘Options for Target - Utilities‘
keil 报 FCARM - Output Name not specified, please check 'Options for Target - Utilities'可能是添加文件时文件类型选择错了,选择了 Image file(*.*)解决方案,将添加的文件删除掉,然后选择ALL添加就可以了。...原创 2021-08-27 17:03:23 · 805 阅读 · 0 评论 -
keil 分散加载文件
keil 分散加载文件link.sct文件内容; *************************************************************; *** Scatter-Loading Description File generated by uVision ***; *************************************************************LR_IROM1 0x08001000 0x0000原创 2021-08-15 15:31:56 · 355 阅读 · 0 评论 -
如何 用 keil 读出芯片中的程序并保存?
背景,在某次用flash模拟eeprom时,突然发现程序不跑了,怀疑是擦写flash时将code区擦除了,遂开始一系列测试,打算将芯片中的读出来查看。1、设置keil工程(1)将硬件调试中的Load Application at Startup 去掉勾选(2)将flash 配置中的芯片擦写改为不要擦写,将Program 、Verify、 Reset and Run等的勾选去掉。2、进入芯片仿真,并点击全速运行(注意,此处必须点击全速运行,否则memory中的数据会不准,实测是原创 2021-07-03 18:46:17 · 20736 阅读 · 2 评论 -
keil 查看 sp指针值的方法
进入debug模式,然后依次点击view->Registers Window就可以看到sp指针的值原创 2021-06-20 16:40:04 · 2162 阅读 · 0 评论 -
1、j-link报The connected j-link is defective. proper operation cannot be guarantee
1、j-link报The connected j-link is defective. proper operation cannot be guaranteed在更新完j-link的驱动之后报错 The connected j-link is defective. proper operation cannot be guaranteed。经过查找资料之后发现是j-link固件和j-link驱动程序不兼容引起的问题。可以升级j-link固件或者降低j-link驱动程序的版本来解决。我这边使用的原创 2021-06-07 00:04:39 · 5427 阅读 · 1 评论 -
keil 封装lib
目录1.创建lib2、使用lib3、注意事项4、个人总结在团队工作中,经常会有模块维护和代码封装的问题。把需要封装的代码打成一个lib无疑是一种很好的方式。1.创建lib(1)将工程中不需要要打包的文件给移除(2)选择输出.lib文件(3)编译文件(4)生成.lib文件,在output文件夹中找到生成的.lib文件(5)总结创建一个lib很容易,只需要创建一个target,然后把需要封装的代码全部加进来,然后再Options of ...原创 2021-05-23 15:12:10 · 1761 阅读 · 1 评论 -
ARM Compiler 6 优化等级
-O0:没有优化。不推荐在ARM Compiler 6.6中使用-O1:有限的优化。这是当前源代码级调试的推荐级别。-O2:优化速度。由于许多循环展开和函数内联,代码大小将增加。-O3:优化速度。比-O2生成的代码更快,但更大-Os:平衡的优化。优化的速度,代码大小的增加是合理的。-Oz:纯粹优化代码大小ARM Compiler 5提供了4个不同的优化级别0到3。它们的行为和优化等级有关,优化等级越高,代码越小。ARM Compiler ...原创 2021-02-04 00:34:18 · 2119 阅读 · 0 评论 -
keil 警告#111-D statement is unreachable
可能的原因:编译器判断程序运行不到该段如上程序,在如图位置程序进入死循环,所以无法进入default,造成报错原创 2021-01-08 12:12:31 · 6405 阅读 · 0 评论 -
keil 调用 nop警告 174-Dexpression has no effect
nop调用不正确,调用arm m0 内核中的nop时需要在__NOP后加上括号,变为__NOP(),不然会警告原创 2021-01-08 11:23:33 · 8984 阅读 · 2 评论 -
keil勾选Use MicroLIB 的作用
MicroLib是一个针对用C编写的基于ARM的嵌入式应用程序的高度优化的库。与包含在ARM编译器工具链中的标准C库相比,MicroLib提供了许多嵌入式系统所需的代码大小的显著优势。下图对使用标准库和使用微库代码大小进行了对比MicroLib和标准C库之间的主要区别是:1、MicroLib是专为深度嵌入式应用程序而设计的。2、MicroLib经过优化,比使用ARM标准库使用更少的代码和数据内存。3、MicroLib被设计成在没有操作系统的情况下工作,但是这并不妨碍它与任何...原创 2020-12-31 17:22:01 · 11164 阅读 · 2 评论 -
j-link The connected j-link is defective. proper operation cannot be guaranteed 问题解决
在更新完j-link的驱动之后报错 The connected j-link is defective. proper operation cannot be guaranteed。经过查找资料之后发现是j-link固件和j-link驱动程序不兼容引起的问题。可以升级j-link固件或者降低j-link驱动程序的版本来解决。我这边使用的是升级j-link固件解决问题。升级前:升级后...原创 2020-12-25 13:27:30 · 875 阅读 · 0 评论 -
keil直接烧录目标hex文件
1、进入output设置2、将需要烧录的hex文件放入第二个图中的路径3、填入需要烧录的hex文件名,注意末尾的.hex必须加上,不然烧录的还是之前编译的程序。原创 2020-12-18 16:35:47 · 13280 阅读 · 4 评论 -
Keil软硬件仿真相关设置
目录1、选择软件仿真2、选择硬件在线调试3、选择启动相关4、Restore Debug Session Settings ,复位调试会话设置5、DLL文件6、管理组件描述文件1、选择软件仿真Keil有很强大的软件仿真功能,通过软件仿真可以发现很多将要出现的问题,Keil的仿真可以查看很多硬件相关的寄存器,通过观察这些寄存器值的变化可以知道代码有没有正常运行。这样可以避免频繁下载程序,延长单片机Flash寿命。2、选择硬件在线调试选择下载调试器,以及对应...原创 2020-12-17 21:44:32 · 3837 阅读 · 0 评论 -
keil Debug 卡死
目录1、应用程序没有激活或者到期2、工程路径中含有中文字符3、调试口在程序运行后被占用1、应用程序没有激活或者到期在 License Management 窗口中,如果没有注册表,或者注册表变红,就有几率进入调试卡死。2、工程路径中含有中文字符如果工程路径中包含中文字符则在keil 5.25版本中每次退出调试都会报异常,需要强制结束。3、调试口在程序运行后被占用某次,同事发现自己进keil的调试有一半的几率没有办法成功,在debug识别芯片时也比较卡顿,先后.原创 2020-11-23 21:11:38 · 4717 阅读 · 1 评论 -
KEIL编译出现.\output\release\clk_systick.axf: Error: L6200E: Symbol Leakage_Calibration multiply defined
KEIL编译出现.\output\release\clk_systick.axf: Error: L6200E: Symbol Leakage_Calibration multiply defined函数重复定义,删除掉一个即可原创 2020-10-27 15:09:44 · 3495 阅读 · 0 评论 -
keil编译报错error: #40: expected an identifier
标识符命名重复,Freq_Ref在多个地方定义,删除掉一个地方的定义就可以了原创 2020-10-27 14:21:01 · 10221 阅读 · 4 评论 -
对 keil Mdk 优化等级的理解
优化等级0Minimum optimization. Turns off most optimizations.It gives the best possible debug view and the lowest level of optimization.近乎不优化,用于调试代码。出现代码行不能设置断点可如此设置试试。特点:最少的优化,可以最大程度上配合产生代码调试信息,可以在任何代码行打断点,特别是死代码处。优化等级1Restrictedoptimizatio...原创 2020-08-24 21:37:06 · 13582 阅读 · 0 评论 -
keil 用断点管理抓取变量变化
在程序运行过程中,有些数据被莫名修改了,但是反复的看代码还是找不到变量是怎么修改的,这个时候就要用到断点管理器了。用它可以轻松跟踪到问题的根源一、进入断点管理进入方法 1、点击debug->Breakpoints进入方法 2、在watch窗口选择 set Access breakpoint二、进行设置三、设置完成之后重新进入调试,则可以抓变量的变化了...原创 2020-05-29 13:45:47 · 2639 阅读 · 0 评论 -
Keil Warning: L6304W: Duplicate input file .\objects\main_1.o ignored.
出现该问题的原因是 main.c文件被重复包含了解决方案:只要将重复的文件删除掉一个就可以了原创 2020-03-24 14:19:24 · 4145 阅读 · 0 评论 -
Keil 查看文件路径的方法
目录方法一:方法二:方法一:在工程种选择任意一个文件,然后点击右键,选择"Option for File"就可以看到这个文件的路径了方法二:在文件框种右击任意一个文件,然后点击右键,选择“Open Containing Folder”,就可以打开这个文件所在的文件夹了。...原创 2020-03-21 11:24:58 · 9965 阅读 · 0 评论 -
Keil 进入调试之后程序不运行
keil 进入调试之后一直不运行,但是原来工程是好的,没有变过,生产了新的板子调试不了,最后发现工程的 reset 选项放在 reset pin 上,只要改为 Normal 就可以正常调试了原来改为...原创 2020-03-20 19:14:49 · 11965 阅读 · 2 评论 -
keil 仿真时进入 Default_Handler
keil 在仿真时一直进入中断后的内存段,之后查找问题发现是使能了某个中断函数,但是没有定义中断函数导致的问题,定义中断函数就可以解决问题了。...原创 2020-03-13 17:21:54 · 1416 阅读 · 2 评论 -
Keil 找不到可选的flash配置文件的解决
在建立新的工程时找不到flash配置文件解决方法:第一步,找到芯片的配置包第二步,找到该文件安装的路径第三步,打开keil,将记住的路径输入编号为3的框中,点击确定第四步,这时就可以选择flash配置文件了...原创 2019-12-31 16:23:20 · 2996 阅读 · 0 评论 -
keil 出现 error: L6235E
在编译时发现keil出现.\output\release\clk_systick.sct(7): error: L6235E: More than one section matches selector - cannot all be FIRST/LAST.编译环境:KeilMDKCPU :HC32F003错误:.\obj\movSERVO.sct(7): error: L623...原创 2019-12-17 22:32:12 · 1996 阅读 · 0 评论 -
keil 出现 Error parsing node '#text':value 'HDSC:145' not in enumeration
keil 出现 Error parsing node '#text':value 'HDSC:145' not in enumeration经过查找之后发现我新加的支持包是2018年版本的而我自己用的keil是5.11版本的,是2014年出的。导致新加的支持包不能运行。将keil的版本升级为5.25版本后问题解决...原创 2019-12-17 15:35:11 · 3080 阅读 · 0 评论