专业嵌入式软件开发引言
专题一:硬件篇
-
-
<微处理器VS微控制器,什么是CPU,寄存器的分类,两个关键的CPU寄存器,IO操作,地址映射,处理器启动过程>
-
-
<中断的概念和意义,中断服务程序(ISR),中断的意义,中断的类型,中断优先级,中断的应用---程序断点,中断调试的工程应用>
-
-
<内存管理单元(MMU),虚拟内存的概念,虚拟内存的意义,虚拟内存的机制,页式内存管理,如何提升电脑性能>
-
-
<硬件的处理速度,程序访问的局部性,cache高速缓冲存储器,内存和缓存之间的映射,Cache原理软件应用日志调试工具>
-
-
专题二:工具篇
-
-
<开发环境组成,辅助开发工具集---addr2line、strip、ar、nm、objdump、size、strings>
-
-
<GCC与gcc有什么不同,编译过程,多语言混合开发,gcc 编译选项>
-
-
<链接器的秘密,目标文件的特点,链接器的工作内容,main函数的位置,自定义程序入口函数,重要链接选项>
-
-
<链接脚本的意义,链接脚本初探,SECTIONS,MEMORY,ENTRY >
-
-
<课程目标(模拟嵌入式开发),如何达到可执行程序体积最小的目标,打印函数设计,退出函数设计,链接脚本设计,指定链接选项,模拟嵌入式开发编程实验>
-
-
<什么是GDB,为什么需要GDB,GDB(动态分析工具)与binutils(静态分析工具),GDB的常规使用,GDB的启动方式,GDB的应用示例,GDB断点调试>
-
-
<watch,x命令,函数调用栈的查看(backtrace, info frames),对程序中的符号进行查看(whatis,ptype)>
-
专题三:语言篇
-
-
<C语言中内嵌汇编,编译器做了什么,常用限制符说明,使用系统服务>
-
-
-
<ABI是什么,ABI和API的区别,ABI有什么>
-
-
<ABI规定桢栈结构,ebp寄存器,函数调用发生时的细节,常见的函数调用约定,结构体类型的返回值>
-
-
<指针与数组在语言层面的操作部分情况等价,指针与数组在二进制层面的操作完全不同,c/c++编译器的缺陷>
-
-
<volatile,const和volatile>
专题四:设计篇
-
-
<软件设计是什么,软件设计的意义,什么是软件质量,如何提高软件质量,架构设计vs软件质量,如何提高自身的软件设计能力,设计思想vs设计原则vs设计模式>
-
-
<设计原则:以人为本,简单就是美,让模块善始善终,重视运行时数据的收集>
-
-
<设计原则:代码自注释,通过机制解决当前问题,防御性程序设计>
-
-
-
-
-
-
<项目中需要思考的问题,开发流程的定义,平台与框架的选择,目录结构及源码管理,嵌入式产品的开发效率>
posted @
2019-06-16 13:15
梦心之魂
阅读(
375)
评论()
收藏
举报