1,本次课主要目标,了解嵌入式系统开发的主要流程 掌握嵌入式处理器S3C2410的启动过程 认识实验箱资源 了解桌面linux的常用操作命令 了解windows环境下的开发环境ADS,推荐两本书:《ARM linux入门与实践》--程昌南著 《 嵌入式Linux应用开发完全手册》--韦东山著,2,嵌入式实验前必备 知识,3,嵌入式系统开发分为两种一种是不带嵌入式操作系统的开发(裸机开发) 一种是带嵌入式操作系统的开发,嵌入式系统开发,何谓裸机开发 裸机开发是指无操作系统下的ARM系统开发 所有硬件资源均开放(和一般的51开发类似) 可以理解为一个高级单片机的开发(“”),裸机开发的作用 更能深入地从底层去了解ARM CPU的操作过程及系统设计 为日后自行设计系统打下基础 为bootloader的编写打好基础,4,由于带操作系统的开发涉及的内容多,学习难度大,开发周期长,不适合初级入门者的学习(而且也需要有一定的裸机开发基础)所以实验的重点是让大家基本掌握裸机开发的要点1. 开发工具(软件的,硬件的)都有哪些,怎么使用2. 开发的主要流程是怎样的3. 能理解简单的裸机程序,建立自己的裸机开发工程。
5,带操作系统的嵌入式系统开发流程,不同于平常开发的软件,在开发嵌入式系统时,经常把所有的软件模块最终都生成一个单一的文件,我们把这个单一的文件称为image,它一般包括以下布局: bootloader embedded linux kernel device driver root filesystem application 因此开发流程如下: 1、开发target硬件系统 2、需要一套交叉编译工具,能够产生target目标代码 3、开发一个bootloader到target上去,用来引导内核 4、开发linux内核到target上去 5、开发一个rootfs 6、开发特定硬件的驱动程序 7、或许还需要一个实时的linux 8、开发上层的应用程序数电,模电,PCB设计等,编译原理,linux命令行操作等,ARM汇编指令,C语言,数电模电,ARM体系结构,Linux内核,C语言,GUI编程 C,C++,VC,QT等,Linux内核,C语言等,6,裸机开发之---ARM的启动方式,对这部分的理解程度直接关系到ARM的入门速度,非常非常非常重要ARM9一般将flash和ram外置,启动方式比51单片机复杂。
两种启动方式: (启动方式的选择与ARM引脚的硬件链接有关)1. 从norflash启动 norflash地址与存储单元呈线性对应关系,价格较贵程序能直接在norflash上运行2. 从nandflash启动 nandflash地址与存储单元呈非线性对应关系,价格便宜程序不能直接在nandflash上运行ARM复位->nandflash 控制器自动将NANDFlash上前4K的内容复制到BOOTSRAM->pc指向地址0X0->程序开始运行(关中断->系统时钟初始化->初始化堆栈….->进入C程序),7,8,9,开发工具介绍,开发工具分为4大类:软件:代码编辑器,编译器(一般指支持交叉编译的交叉编译器),通信软件硬件:仿真器(包括仿真器 的后台服务程序)既有windows环境下的,也有Linux环境下的注:1.集成开发环境里面一般将代码编辑器和编译器集成到一起如VC,keil51,wintc2.通信软件一般指flash烧写工具,串口通信,USB通信等如DNW, 超级终端,AG3. 硬件仿真器一般都附带专有的服务程序,两者配合形成一种仿真手段如MULTI-ICE和MULTI-ICE Server我们实验的仿真方式采用的是AG+AXD+Jtag接口电路,编辑和编译器采用ADS。
10,,,裸机开发之---ADS开发流程,新建项目,编辑源码*.c,*.s,编译链接,仿真调试,下载,监控程序运行,超级终端,JTAG仿真器,ARM JTAG,并口,串口、USB、RJ-45,,串口USB RJ-45,串口、USB、RJ-45,串口,串口,JTAG,,RS-232,宿主机PC,ARM处理器,开发板、目标板,Edit-32或Source Insight,ADS,ADS,AXD,12,ADS开发环境使用,文件夹内附有视频教程和PDF文档,自己看,下堂课会提问:怎么建立工程,怎么开始仿真,仿真时程序在哪运行有时间就讲),13,Linux操作系统使用,常用的linux版本: Ubuntu redhat federo,实验室电脑进入redhat linux: 用户名:root 密码:techshine 常用命令: ./ cd 例 cd ls 例 ls –l cat chmod tar 输入部分文件名,按TAB键,14,认识 开发平台EL-ARM-830,15,实验台配置,CPU:ARM920T 内核,芯片S3C2410,工作频率最高 202MHz外部存储器单元:SDRAM: 64MB,芯片HY57V561620NAND Flash:32MB,芯片K9F5608 网络单元:10M/100M自适应以太网接口,芯片AX88796 USB 单元:1个主接口,两个设备接口,芯片PDIUSBD12 UART单元:2个,最高通信波特率115200bps语音单元:IIS格式,芯片UDA1341TS,采样频率最高48KHz LCD单元:5.7寸,256色,320*240像素,16,触摸屏单元:四线电阻屏,320*240,5.7寸 SD卡单元:通信频率最高25MHz,芯片W86L388D,兼容 MMC卡 键盘单元:4*4键盘,带8位LED数码管,芯片HD7279A 模拟输入输出单元:8个带自锁的按键及8个LED发光管 A/D转换单元:芯片自带的8位10位A/D,满量程2.5V 信号源单元:方波输出 标准键盘及PS2鼠标接口 达盛公司的Tech_V总线接口 达盛公司的E_lab总线接口 调试接口:标准20针JTAG调试接口; CPLD单元 直流5V单电源供电,含电源转换电路;,。