免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 968 | 回复: 0

嵌入式系统学习笔记-软件概要 [复制链接]

论坛徽章:
0
发表于 2011-12-23 02:29 |显示全部楼层
嵌入式系统开发的特征:
1、可能没有操作系统。
   要直接存取寄存器或内存的内容。
2、程序的编译和执行在不同平台。
3、输入输出界面。
4、资源有限。内存有限,没有虚存。
5、常常跟硬件打交道。和硬件工程人员良好互动。
 
嵌入式操作系统:提供micro kernel 微核心
                提供:内存管理
                      多工处理
                      外围资源管理
开机:boot loader。
      包括:boot code。初始化处理器。通常CPU厂商提供。
            初始化必备硬件: CPU、RAM、管脚。关闭所有输入管脚,防止信号进入。
            初始化操作系统:开启内存管理、开启中断控制、中断向量表、计时器、调度。
 
设计考虑些什么:
      成本。数量(保证成本)。周期(消费产品快速)。
一旦决定商业因素后,才会确定技术层面问题。所谓商品,就是要卖得掉才行。
      硬件平台:包括CPU、内存
      可靠性:
 
开发:选定cpu板。看提供什么样的开发工具和环境。
根据硬件说明书进行控制。
例代码:
#define M328_BASE 0xFFFFF000L             ---控制器的基地址
#define M328_PLLCR ((unsigned short *)(M328_BASE+0x200))    //PLL Control Register   --PLL寄存器的地址。
//PLL Modeule
#define PLL_DISABLE 0x0008 //bit 3 =1     ---说明书上:第3位控制开关
 
void disablePLL(void)
{
     *M328_PLLCR |= PLL_DISABLE;           --置为1,代表关
}
 
写驱动:
1、读懂规格书,能够存取每个装置的管脚。
2、注册中断函数。让操作系统了解中断跑哪些函数。
3、写驱动API,让用户可以调用。
 
写驱动的注意事项:
程序占用的内存空间不能太大。
程序的计算资源要低。
程序的响应要快。
中断程序的时间要短。
移植性高。
机制简单。(驱动不要多线程支持,不要虚存支持,不要浮点运算)
减少状态变量。(状态最好从硬件中获得)
 
常用格式:
声明基地址,包括控制寄存器、数据寄存器、内存基地址
遮罩常数声明,例如某位遮罩代表什么ENABLE
状态常数声明,
常用功能宏
 
 
 
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP