1、嵌入式系统学习笔记入门难,视频教程+看书嵌入式基础知识嵌入式系统,以应用为中心,以计算机技术为基础,且软硬件可裁剪,的专用计算机系统。带有微处理器的专用系统(单片机系统、带OS的ARM系统)。这些对比不是绝对的交叉编译?嵌入式系统特点:系统内核小、专用性强、系统精简、实时性、专用开发软件和环境。嵌入式处理器,核心,外围设备:存储器:xram xflash接口:并口,RS232串口,以太网接口入机接口:LCD,触摸屏嵌入式软件层:应用层,驱动层,OS层嵌入式开发类:硬件开发(电路、驱动)、系统开发(linux、wince)、软件开发(应用程序、GUI)嵌入式学习方法 Linux常用命令_格式#c
2、ommand -options parameter1 parameter2.VIH左,L右,J下,K上V可视,Dw 删除单词的后半部分,D¥删除同行光标后的内容。2DD 删除两行。U撤销,ctrl+r反撤销P粘贴R修改当前字符Cw替换后插入字符C$删除行后插入2cc删除2行后插入GCC编译器Gcc -o main main.cGcc 输出 可执行文件名 程序GNU makefile制定编译规则,完成整个软件项目处理;分开存储,个别处理;Shell命令解释器,编程环境Win下的批处理变量+规则建立交叉编译环境交叉编译:在一个平台(体系结构x86、ARM、操作系统win、linux)上生成另一个平
3、台上的可执行代码。体系结构 相互配合 操作系统Gcc编译四个阶段:1预处理,不生成文件【预处理器 cpp】2转换为汇编语言,生成.s的文件【编译器egcs】3转变为目标代码( 机器代码)生成.o文件【编译器as】4连接目标代码和库文件,生成可执行程序【链接器ld】Linux平台工具Arm920t-eabi、Eabi优化浮点数运算Windows平台工具secureCRT(中断仿真程序,类似于超级终端)Notepad+ADS集成开发环境(操作类似于keil、中文路径下的工程文件不能被打开)CodeWarrior IDEHJTAG(ARM仿真、调试代理)DnwARM 微处理器Arm7采用风诺依曼结构
4、Arm9采用哈佛结构命名规则MMU,虚拟内存单元MPU,内存保护单元ARM体系结构ARM数据类型ARM存储格式ARM处理器工作模式ARM中断S3c2440a芯片PLL倍频作用 写1清零S3C2440存储器控制器:表示以标准形式调用慎用静态链接Makefile规则:产生结果的格式Targets:prerequisitesCommand目标 依赖 命令Main.o:main.cGcc -c main.c伪目标(phony targets)变量:Hello:main.o fun.oGcc main.o fun.o添加fun2.c文件编程Linux中文件编程:linux系统调用、c库linux系统调用
5、:int creat(const char *filename,mode_t mode)常见创建模式:可执行-1可写 -2可读 -4File_creat.c Int creat(const char *pathname,int flags,mode_t mode) Mode指定文件权限File_open.c Int open(const char *pathname,int flags,mode_t mode)例如fd=open(argv1,O_CREAT|O_RDWR,0755) 注意o_creat:表示该文件不存在,系统会自动创建库函数创建,文件参数由第三个参数决定;第三个参数可以没有B区
6、分二进制、文本文件File_read.c Int read(int fd ,const void *buf,size_t length)File_write.c Int write(int fd ,const void *buf,size_t length)File_lseek.c Int lseek(int fd ,offset_t offset,int whence) 将文件读写指针相对whence移动offset个字节 Whence可以用:SEEK_SET(相对文件开头)、SEEK_CURLseek计算文件长度:lseek(fd,0,SEEK_END)文件属性判断:Access:int access(comst har*pathname,int mode) /mode是要判断的访问权限(R_OK/W_OK/X_OK/F_OK(文件存在)),测试成功函数返回0,否则返回-1.
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1