jicheng0622

【原创】Codewarrior、IAR和Keil三大IDE局部优化指令

大致在去年我写了一篇关于在Codewarrior下使用局部优化指令的文章,可以使用户平衡代码空间限制和功能异常的问题(即遇到程序执行效率较差或者代码空间受限的话我们会想到打开编译器的优化,但是如果在编译器中打开了全局优化则可能带来某些功能的异

【原创】Kinetis K系列SPI接口设计注意事项

SPI与UART、I2C常被称为单片机开发三大基本通信模块(几乎是个MCU,都少不了这三个通信外设),足以说明这三个通信模块被使用的频率有多高了,呵呵。而这三个通信模块优劣势不同,应用场合也不太一样,SPI一般用在需要短距离高速通信应用,比如高速AD

【原创】使用Kinetis系列中UART的IDLE Line功能识别帧结束

使用串口接收连续的一帧数据是我们平时比较常用到的一种方式(通过485或者232总线),而且往往这一帧数据的长度不确定,实现这种功能如果我们使用传统的接收中断方式的话会带来非常频繁的中断,查询方式的话则会造成系统大的延时,总之,这两种传统的

【学习笔记】I2C总线被挂起的原因和解决办法

I2C总线是我们常用的IC之间的通信总线之一,虽然速率有一定的限制(标准的I2C速率才100kbps,FastI2C速率为400kbps),但是有利有弊,存在即有理,其简单的两线接口(只需要时钟和数据两根线),支持多主机冲突检测和多节点挂载(节点数不受限制,只要

【原创】IAR下使用noinit段的方法和指定地址的变量分配

noinit段对我们大多数搞单片机开发者来说并不陌生,该段如果被使用的话是会被编译器自动分配到芯片SRAM的一块区域中(注意是RAM区而非Flash),在该段定义的变量在除了掉电之外的任何芯片复位的情况下都不会被重新初始化,所以这个段的意义就大了,常

【原创】Codewarrior10.x下生成的image文件后缀都是.hex

坐在回北京的高铁上,最近忙碌的心慢慢静了下来,终于又可以整理整理头绪,把这段时间的积累和沉淀捋一捋,写几篇文章分享出来。我现在还真是非常享受高铁上这会儿静静的写文章的感觉(哎,我都为俺这辈子没做成一个作家感到可惜了,走上了程序员这条

【学习笔记】GCC编程被汇编文件名后缀的大‘S’和小‘s’坑了

不得不说,本人在高铁上写博客还是非常有感觉的,思维很发散啊,想起最近悲催的俏江南(有钱人的世界俺不懂,咋就这么能折腾呢,好好的企业就这样被套进去了),一下子来了灵感,打算写写大S和小s吧,咳咳,不过不要想多了,此S非彼S,此乃汇编文件的

【学习笔记】移植ARM CMSIS USB Stack的CDC类到飞思卡尔Kinetis KL25

现在越来越多的用户在使用USB的CDC类做USB虚拟串口,毕竟现在笔记本已经基本没有9针串口了,再去拿一个USB转串口线还是比较麻烦的,所以USBCDC类还是不错的选择。而好消息是,ARM官网为其Cortex-M系列(目前支持M0,M0+,M3,M4)定制化了一套非常精简的

【原创经典】Kinetis 16-bit ADC+DMA+定时器实现AutoScan自动通道扫描采样

这次是我第一次尝试在“原创”的后面又加了经典俩字,至于为啥(俺的东北话又情不自禁冒出来了,呵呵),一个是自己一时兴起(今天心情相比于前段时间稍好些),二个是我自认为本篇文章是俺的一篇得意之作而且对广大Kinetis用户也是非常有用的一篇技

【原创】Kinetis将Flash保护打开造成程序下载失败的解决办法

FlashProtection功能,即对某一段Flash空间进行写保护配置,防止某些敏感信息误被擦写,只允许读访问权限。这个功能在某些领域还是很有必要的,比如对Bootloader升级功能代码或者一些需要给每个芯片烧写序列号方便对产品跟踪管理等应用,都是需要对这

【原创】Kinetis一个Flash时钟门控引发的“血案”

到现在还记得当年广大观众调侃吐槽冯小刚的夜宴时网上比较火的一个视频——一个馒头引发的“血案”(估计现在90后00后没看过这个,当时师弟师妹们还在初高中为考大学做准备呢,应该没有机会看个电影啥的,不过也不一定绝对啊),结果最近在调试Kineti

【原创】如何使能Kinetis K64 Cortex-M4F内核的FPU功能

FPU即浮点运算单元是M4的一大特色亮点,虽然这个模块在ARMCortex-M4内核中是一个选配,不过飞思卡尔最新的M4产品几乎都把FPU功能加进去了,毕竟没增加多少钱,而且还多了一个亮点,何乐而不为呢,呵呵。虽然加入了这个FPU会提高一定的浮点运算性能,

【原创】Cortex-M0+单周期GPIO的使用方法

Cortex-M0和Cortex-M0+有什么区别?这个问题经常会有人问我,而我的回答很简单,除了能效比提高30%(M0+功耗比M0还是有明显改进的,从三级流水线改成了二级流水线)以外,其实我最喜欢提的是M0+多了单周期快速GPIO功能,这个功能还是很能让人眼前一亮

【原创】FRDM-K22F基于Kinetis SDK1.1的I2C通信HAL层例程

羊年伊始,假期结束,重新回到了工作岗位。回味过去的一整年,成长不少,收获良多,感恩身边的人。展望新的一年征程,充满未知和挑战,收拾心情,整装待发,奋斗ing…闲话不多说了,直接说正事吧。飞思卡尔去年终于推出了好多人都

【原创】KL03不能正常进入低功耗模式的原因及解决办法

KL03系列是KinetisL系列的第二代产品,相比于第一代的同一级别的KL02,的确是新添了不少特色。包括出厂自带BootROM(IAP功能,直接通过串口,I2C或者SPI下载程序),内部集成了全温度范围精度在1%的48M晶振(所以去掉了冗余的FLL和PLL倍频部分,即省