1 / 21

《 嵌入式系统程序设计 》 课程总结

《 嵌入式系统程序设计 》 课程总结. 主要内容(课堂). 嵌入式系统基础 嵌入式 Linux C 程序开发 嵌入式 Linux C 语言基础 嵌入式 Linux 开发环境 嵌入式 Linux 文件 I/O 编程. 多任务编程 多进程 / 多线程 进程间通信 网络编程 设备驱动开发 QT 图形编程. 嵌入式系统概念 交叉编译 交叉调试 Bootloader 作用. Vi Gcc Gcc 编译流程 常用选项 库相关选项 Gdb 上机时进行的操作 Make 能解释规则含义. 数据段 BSS 段 代码段 栈 堆. 字节序.

loyal
Download Presentation

《 嵌入式系统程序设计 》 课程总结

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 《嵌入式系统程序设计》课程总结

  2. 主要内容(课堂) • 嵌入式系统基础 • 嵌入式Linux C程序开发 • 嵌入式Linux C语言基础 • 嵌入式Linux开发环境 • 嵌入式Linux文件I/O编程 • 多任务编程 • 多进程/多线程 • 进程间通信 • 网络编程 • 设备驱动开发 • QT图形编程

  3. 嵌入式系统概念 • 交叉编译 • 交叉调试 • Bootloader作用

  4. Vi • Gcc • Gcc编译流程 • 常用选项 • 库相关选项 • Gdb • 上机时进行的操作 • Make • 能解释规则含义

  5. 数据段 • BSS段 • 代码段 • 栈 • 堆

  6. 字节序

  7. 系统调用与用户编程接口API的区别 • 文件描述符概念 • open()/read()/write()/close()与fopen()/fread()/fwrite()/fclose()的区别 • 解释文件锁的应用场景,fcntl与lockf • fork() • 父进程回收子进程需要调用wait与waitpid • exit()与_exit()的区别

  8. 管道 • 单向性,往1号fd写,从0号fd读 • 消息队列 • 共享内存 • 信号量 • 套接字 • 信号量

  9. 能解释ls –l列出的权限的含义

  10. TCP/UDP套接字编程模型 • 并发处理模型

  11. Linux将所有设备当作文件进行处理,位于/dev目录中Linux将所有设备当作文件进行处理,位于/dev目录中 • Linux系统的设备分为3类:字符设备,块设备,网络设备 • 字符设备通常以字节为单位顺序读写的设备 • 块设备通常指需要以块为单位随机读写的设备 • 设备驱动程序位于操作系统内核空间 • 解释字符设备与块设备 • 主设备号,次设备号,具备相同主设备号的设备之间公用同一驱动程序,而用次设备号来标识具体物理设备 • Insmod • Rmmod • Lsmod • 解释mknod /dev/mytestdevice c 59 0 • 内核模块编程中打印信息的函数printk,输出信息的位置是/var/log/message

  12. 信号与插槽机制是QT的核心机制,用于对象之间的通信,实现程序对用户操作界面时间的响应信号与插槽机制是QT的核心机制,用于对象之间的通信,实现程序对用户操作界面时间的响应 • Qmake用法 • Qmake –project • Qmake • Make

  13. 在宿主机通常使用minicom来通过串口与开发板交互,编译可以运行在开发板上的程序用的编译器命令是arm-linux-gcc,远程调试开发板上的程序用的命令是arm-linux-gdb,gdbserver运行在开发板上在宿主机通常使用minicom来通过串口与开发板交互,编译可以运行在开发板上的程序用的编译器命令是arm-linux-gcc,远程调试开发板上的程序用的命令是arm-linux-gdb,gdbserver运行在开发板上 • 方便开发调试,要用到nfs,开发板充当nfs客户端,宿主机充当nfs服务器 • 在宿主机上搭建tftp服务器是为了方便bootloader下载内核与文件系统 • 为了确认宿主机与开发板之间的网络连通,使用ifconfig命令将二者设置统一网段的IP • 解释 • scp root@192.168.0.1:/root/Work/Helloworld /root

  14. 上机总结

  15. 嵌入式系统程序开发环境熟悉 • Web服务器实现(多进程/多线程/多路复用) • QT • 驱动

  16. 工具链(ToolChain)安装 • 开发环境 • Bootp • Tftp • Nfs • Minicom配置 • 内核的定制/下载 • 文件系统定制/打包/下载 • 利用USB(HOST)访问存储设备(U盘)

  17. 使用厂商提供的交叉编译环境 • 搭建开发环境 • 自己从头编译构建也是可以的,但是会有挑战性 • 下载内核/文件系统 • 厂商提供有文件系统骨架 • 根据所做应用的不同,需要定制内核/文件系统 • 如何从一个目录打包成文件系统 • 如果定制一个只读的文件系统呢? • Mount,拷贝出来,加内容,重新打包 • 测试程序 • Ssh上传,文件系统可写? • Nfs • 整个文件系统烧写

  18. 在宿主机通常使用minicom来通过串口与开发板交互,编译可以运行在开发板上的程序用的编译器命令是arm-linux-gcc,远程调试开发板上的程序用的命令是arm-linux-gdb,gdbserver运行在开发板上在宿主机通常使用minicom来通过串口与开发板交互,编译可以运行在开发板上的程序用的编译器命令是arm-linux-gcc,远程调试开发板上的程序用的命令是arm-linux-gdb,gdbserver运行在开发板上 • 方便开发调试,要用到nfs,开发板充当nfs客户端,宿主机充当nfs服务器 • 在宿主机上搭建tftp服务器是为了方便bootloader下载内核与文件系统 • 为了确认宿主机与开发板之间的网络连通,使用ifconfig命令将二者设置统一网段的IP • 解释 • scp root@192.168.0.1:/root/Work/Helloworld /root

  19. 题型 • 填空 • 解释/简答 • 程序分析 • 关于上机报告 • 标题:学号+姓名+嵌入式上机报告 • 格式word2003 • 1257352813@qq.com

  20. 其他 • 源代码 • 阅读,分析,理解,借鉴 • 关于我们实验室/团队 • 祝大家学有所成

  21. 其他 • 马志欣 • 李龙海 • 苏锐丹 • 陈勉 • 刘志娟 • 刘锦辉 • 张剑贤 • 付少锋

More Related