到底是用C好,还是用汇编```````````
共6条
1/1 1 跳转至页
C语言和汇编语言在开发单片机时各有哪些优缺点?哪个好呢?
个人觉得没有可比性,该用汇编的地方就用汇编,该用C的地方就用C。一般来说汇编使用指征有以下几种情况中的一种或几种:
1. 没有支持的C编译器。
2. 程序微小且简单,没有必要用C。
3. 尚不具备执行C语言程序的条件(CPU启动初始化代码,堆栈环境尚未建立)。
4. 经常、频繁被调用的函数(如IO读写函数inportb等和其它经常使用的硬件驱动函数)
5. 与架构相关无法直接通过C实现的函数(如专用寄存器访问等函数,部分操作系统底层函数,典型地如内存管理相关函数)
6. 对执行效率要求严格的程序(如memcpy等标准函数库)
7. 对执行时间控制要求严格的程序(如us级的功率器件门级触发程序,部分操作系统原语实现函数)
8. 对代码量要求严格的程序(RAM、ROM等资源不充足的微型设备)
对嵌入式软件开发来说,C和汇编就学习和使用,不能只学哪一门,应该结合起来使用。对32位CPU的系统来说,通常是少量汇编和大量C的结合-只有部分函数使用汇编书写,其它绝大多数代码用C或者C++。而8位和16位系统从资源和应用目的来说,通常汇编的使用比率稍微高一些。。。。。。。
啊个人理解,欢迎大虾们指教。
共6条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
与电子爱好者谈读图二被打赏50分 | |
【FRDM-MCXN947评测】Core1适配运行FreeRtos被打赏50分 | |
【FRDM-MCXN947评测】双核调试被打赏50分 | |
【CPKCORRA8D1B评测】---移植CoreMark被打赏50分 | |
【CPKCORRA8D1B评测】---打开硬件定时器被打赏50分 | |
【FRDM-MCXA156评测】4、CAN loopback模式测试被打赏50分 | |
【CPKcorRA8D1评测】--搭建初始环境被打赏50分 | |
【FRDM-MCXA156评测】3、使用FlexIO模拟UART被打赏50分 | |
【FRDM-MCXA156评测】2、rt-thread MCXA156 BSP制作被打赏50分 | |
【FRDM-MCXN947评测】核间通信MUTEX被打赏50分 |