0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

吐槽下使用Keil过程中一些不顺手的地方

TopSemic嵌入式 来源:工程师的废纸篓 2023-05-23 09:10 次阅读

单片机写固件的朋友都会用到IDE,目前比较常见的IDE有:

编译器名称 厂商
MDK ARM
IAR IAR
Eclipse+编译器(GCC) NXPMCUxpresso,TI的CCS,ST的TrueSTUDIO
Embedded Studio Segger

其中MDK和IAR应该是最流行的两个IDE,MDK的粉丝可能还更多一些。实际使用过程中,MDK简洁的目录结构,方便的调试操作以及精简的安装包让人赞叹,新手很容易上手,但是用的时间久了,特别是用过更多的IDE后,你会发现,MDK缺少一些核心的功能:

1. Load寄存器或Memory

各家IDE厂商都可以在View窗口看到芯片的寄存器或者Memory,以NXP提供的MCUXpresso SDK lwip_ping为例:

MDK:

68fe39d8-f8fd-11ed-90ce-dac502259ad0.png

IAR:

6915a6f4-f8fd-11ed-90ce-dac502259ad0.png

有时在调试过程中,经常会遇到这样一种情况,代码前一个版本没有问题,新加入一些功能后出现了bug,比如某个UART不工作了,通过比对源码却没有发现明显的问题,在这种情况下,在线仿真是一个比较好的手段,但是如果代码复杂,解决该问题依旧需要花费更大的精力。

但是使用IAR或者MCUXpresso这类的IDE,可以将MCU的寄存器保存成文件,这样我们就可以在正常代码运行时保存一份寄存器列表文件,运行异常代码保存另一份寄存器列表文件,通过对比这两个文件去寻找具体哪个寄存器的某个bit产生的影响,从而在代码中找到对应bit的处理方式去解决该问题。

6938ec68-f8fd-11ed-90ce-dac502259ad0.png

695123aa-f8fd-11ed-90ce-dac502259ad0.png

IAR不仅提供了寄存器的Save功能,包括Watch窗口的数据也可以保存到电脑中,有些用户做ADC的采样,也可以直接把数组数据导入Excel来画出信号曲线

69653192-f8fd-11ed-90ce-dac502259ad0.png

IAR还提供了Memory的Save功能,这样用户就可以对某块板子进行校准存参,然后把其Flash的参数数据导出烧写到其他板子

697e0e9c-f8fd-11ed-90ce-dac502259ad0.png

存储的类型可以是hex,s19或者bin

69971982-f8fd-11ed-90ce-dac502259ad0.png

Save的Memory也可以是寄存器外设地址

69a7767e-f8fd-11ed-90ce-dac502259ad0.png

2. RTOS插件

MDK默认的OS support仅支持RTX,对于第三方的RTOS并没有很好的支持,需要用户选择第三方的调试工具,比如Tracealyzer,而IAR默认提供了包括FreeRTOS, ThreadX, embOS在内的多种插件,虽然功能并没有Tracealyzer强大,但是至少能满足观察任务堆栈这样比较基础的需求。

69c11782-f8fd-11ed-90ce-dac502259ad0.png

3. Attach功能

本人09毕业时第一份工作使用的IDE是CW_Power_Architecture_V8.8,支持三种调试模式:

69db8414-f8fd-11ed-90ce-dac502259ad0.jpg

69f2acac-f8fd-11ed-90ce-dac502259ad0.jpg

69ff1cc6-f8fd-11ed-90ce-dac502259ad0.jpg

有时大家会遇到这样一种情况,产品无缘无故的死机,有时是产品硬件问题,但更多情况是软件问题,特别是异常非常难复现,而且有时还需要反复开关机才能出现,这就导致仿真器无法一直挂载去查找问题,attach的功能就是在不破坏MCU当前异常状态下的一种仿真手段。IAR默认也支持该功能:

6a15753e-f8fd-11ed-90ce-dac502259ad0.png

但是如果想在MDK中想要实现该功能就较为复杂,下面这个文章可以教你如何在MDK中实现该功能:

不复位MCU直接调试运行程序,让bug闻风丧胆

4. Pack install

最后讲讲这个Pack install,它本身没有啥可吐槽的,主要是服务器好像没有国内加速,每次用个新片子都要下载上个把小时,特别是电信用户,有时下到90%几断了真的很糟心。





审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 寄存器
    +关注

    关注

    31

    文章

    5336

    浏览量

    120262
  • IAR
    IAR
    +关注

    关注

    5

    文章

    350

    浏览量

    36669
  • LwIP协议栈
    +关注

    关注

    0

    文章

    19

    浏览量

    7347
  • MCU芯片
    +关注

    关注

    3

    文章

    251

    浏览量

    11439
收藏 人收藏

    评论

    相关推荐

    近期开始学习UCOS-II将会发一些学习笔记欢迎各位

    近期开始学习UCOS-II将会发一些学习笔记欢迎各位
    发表于 05-29 19:17

    【CANNON试用体验】开箱报告+

    很不错的块板子板子长度 板子宽度 板子的大小是6cm*4cm,非常小巧,不要看它小,多西倒是很多的,有好多东西都还是我没接触过的,在试用过程中一定能学到很多东西。现在来
    发表于 01-29 10:13

    【CANNON试用体验】第篇:开箱加

    部分!下面是对板子的另了!重点来了:1、画的板子没有进行四个角的导角,四个角仍然是方方正正的矩形,给人以
    发表于 03-01 22:31

    一下下载要积分

    一下下载要积分的问题不少网站都有这个规矩,此山是我开,此路是我开,要打此处过,留下买路财。我只能说这种观念非常陈旧,你是在吸引人气还是在为渊驱鱼为丛驱雀,能到这个地方的人,多少都跟
    发表于 07-19 11:54

    STM32开发板过程中一些总结

    这是之前学习STM32开发板过程中一些总结。1. GPIO掌握了GPIO口位带的操作,以及相关的寄存器的操作,注意CRL,CRH.是32位寄存器,四位控制个端口。虽然有公式,但是不需要硬记了
    发表于 08-23 08:42

    起来下学习openharmony的那些事

    欢迎新老入坑openharmony的人来,看看在学习openharmony的过程中有遇到什么困扰。先
    发表于 10-14 21:18

    keil编译过程中遇到的一些问题及解决方案汇总

    Keil编译问题汇总所学板子为32系列(Cortex-M0),在keil编译过程中遇到的一些问题及解决方案:①…\FWLib\SRC\ETIMER.c(48): error:#5: c
    发表于 01-11 08:18

    PCB设计过程中一些问题和一些技巧分享

    PCB设计过程中一些问题和一些技巧分享 1、如何利用层次图绘制电路原理图? 答:层次原理是种模块化的设计方法,设计者可以将设计的系统划分为多个子系统,子系统又可以划分为若干个功能模
    发表于 09-07 20:08 17次下载

    Windows 10已面世五年 这些地方依然值得

    Windows 10面世已经五年多了,可说实话,每天都能遇到各种的不痛快!虽说笔者并不是位“完美主义者”,但我依然希望在这款生产力工具上,能够少看到一些令人
    的头像 发表于 03-21 09:42 1847次阅读

    ARM Linux中一些重要的宏及地址定义

    ARM Linux中一些重要的宏及地址定义
    的头像 发表于 06-22 17:02 2717次阅读

    Verilog设计过程中一些经验与知识点

     “ 本文主要分享了在Verilog设计过程中一些经验与知识点,主要包括块语句、阻塞赋值和非阻塞赋值 以及结构说明语句(initial, always, task, function)。”
    的头像 发表于 03-15 12:19 2368次阅读

    使用Keil过程中一些不顺手地方

    首先声明本人并非Keil黑,本期纯下在使用Keil过程中一些
    的头像 发表于 05-26 10:53 1332次阅读

    处理网络难题经验 网络维护过程中一些典型、经典问题的解决方法

    网络维护,是很多初阶网工必须要做的工作。但说起来容易,做起来难,想要做好这个工作,需要的不仅仅是威廉希尔官方网站 的加持,更多的是经验的积累。 今天,和你分享份关于一些网络维护过程中一些典型、经典问题的解决方法
    的头像 发表于 04-26 16:40 1281次阅读

    在使用Keil过程中一些不顺手地方

    首先声明本人并非Keil黑,本期纯下在使用Keil过程中一些
    的头像 发表于 05-23 09:14 1057次阅读
    在使用<b class='flag-5'>Keil</b><b class='flag-5'>过程中</b>的<b class='flag-5'>一些</b><b class='flag-5'>不顺手</b>的<b class='flag-5'>地方</b>

    被众人Keil,为啥还能挺到现在?

    这款工具相信大家都不陌生,它直被人很难用,但它为啥没有被淘汰呢?Keil
    的头像 发表于 04-18 08:10 1112次阅读
    被众人<b class='flag-5'>吐</b><b class='flag-5'>槽</b>的<b class='flag-5'>Keil</b>,为啥还能挺到现在?