随笔分类 - 嵌入式
C语言嵌入式系统编程修炼之背景篇
摘要:不同于一般形式的软件编程,嵌入式系统编程建立在特定的硬件平台上,势必要求其编程语言具备较强的硬件直接操作能力。无疑,汇编语言具备这样的特质。但是,归因于汇编语言开发过程的复杂性,它并不是嵌入式系统开发的一般选择。而与之相比,C语言--一种"高级的低级"语言,则成为嵌入式系统开发的最佳选择。笔者在嵌入式系统项目的开发过程中,一次又一次感受到C语言的精妙,沉醉于C语言给嵌入式开发带来的便利。 图1给...
阅读全文
C语言嵌入式系统编程修炼之软件架构篇3
摘要:硬件驱动模块 一个硬件驱动模块通常应包括如下函数: (1)中断服务程序ISR (2)硬件初始化 a.修改寄存器,设置硬件参数(如UART应设置其波特率,AD/DA设备应设置其采样速率等); b.将中断服务程序入口地址写入中断向量表: /* 设置中断向量表 */m_myPtr = make_far_pointer(0l); /* 返回void far型指针void far * */ ...
阅读全文
C语言嵌入式系统编程修炼之软件架构篇2
摘要:单任务程序典型架构 (1)从CPU复位时的指定地址开始执行; (2)跳转至汇编代码startup处执行; (3)跳转至用户主程序main执行,在main中完成: a.初试化各硬件设备; b.初始化各软件模块; c.进入死循环(无限循环),调用各模块的处理函数 用户主程序和各模块的处理函数都以C语言完成。用户主程序最后都进入了一个死循环,其首选方案是: while(1){} ...
阅读全文
C语言嵌入式系统编程修炼之软件架构篇1
摘要:模块划分 模块划分的"划"是规划的意思,意指怎样合理的将一个很大的软件划分为一系列功能独立的部分合作完成系统的需求。C语言作为一种结构化的程序设计语言,在模块的划分上主要依据功能(依功能进行划分在面向对象设计中成为一个错误,牛顿定律遇到了相对论),C语言模块化程序设计需理解如下概念: (1) 模块即是一个.c文件和一个.h文件的结合,头文件(.h)中是对于该模块接口的声明; (2) 某模块提...
阅读全文
从Tornado到Workbench新一代嵌入式软件集成开发环境
摘要:从Tornado到Workbench新一代嵌入式软件集成开发环境 作者:康宇峰 从Tornado到Workbench ——风河公司的新一代嵌入式软件集成开发环境 康宇峰 风河公司应用工程师 1. 嵌入式系统开发所面临的问题 嵌入式软件开发有别于桌面软件系统开发的一个显著的特点是它一般需要一个交叉编译和调试环境,即编辑和编译软件在主机上进行(如在PC机的Wind...
阅读全文
风河领军Eclipse联盟设备软件开发项目
摘要:全球领先的设备软件优化(DSO)厂商风河系统公司和Eclipse 联盟(Eclipse Foundation)近日宣布,风河将策划并领导Eclipse设备软件开发平台项目,这将是该联盟首例为设备软件开发特设的项目。由此,风河在联盟的成员地位从add-in (参加者)提升至战略开发者(Strategic Developer),并将进一步把基于Eclipse的技术融合到风河产品中去。针对设备软件开发项...
阅读全文
新一代嵌入式linux集成开发环境
摘要:西安建华科技实业有限公司经过多年研发,成功推出SldView嵌入式Linux集成开发环境。该集成开发环境运行于Windows系统中,支持ucosii、ucLinux、Linux三种嵌入式操作系统的开发。支持代码编辑、交叉编译和交叉调试的开发全过程,支持Linux内核、驱动、任务级、模块等动态调试,支持内核、驱动、任务、模块等同步调试。 目前,具有全功能的Linux开发、编译、调试和高级工程管理的...
阅读全文
浙公网安备 33010602011771号