欢迎来到第一期ARM裸机加强版Wiki教程
- 第一期ARM裸机加强版视频教程是基于JZ2440,Ubuntu16.04系统进行视频讲解操作
- 考虑到视频教程知识点过多,一时无法全部理解,故将视频内容整理成文档供参考。由于工作量大,文档中难免会出现遗漏或者错误,请大家看到后及时指正
- 欢迎大家对wiki提出建议,共同努力,共同成长
本教程的开发环境
- 电脑系统 Windows7 / Windows10
- 百问网提供的虚拟机系统Ubuntu16.04
- 视频配套开发板:JZ2440 V3
建议
ARM裸机加强版维基百科PDF
ARM裸机1期加强版3
|
新1期与2期间的衔接课程
|
- 第017课_LCD
- 第001节_LCD硬件原理
- 第002节_S3C2440_LCD控制器
- 第003节_LCD编程_框架与准备
- 第004节_LCD编程_抽象出重要结构体
- 第005节_LCD编程_LCD控制器
- 第006节_LCD编程_LCD设置
- 第007节_LCD编程_简单测试
- 第008节_LCD编程_画点线圆
- 第009节_LCD编程_显示文字
- 第010节_LCD编程_添加除法
- 第011节_LCD编程_使用调色板
- 第018课_ADC和触摸屏
- 第001节_ADC硬件原理
- 第002节_ADC编程
- 第003节_电阻触摸屏硬件原理
- 第004节_S3C2440触摸屏接口
- 第005节_触摸屏编程_按下松开检测
- 第006节_触摸屏编程_ADC中断
- 第007节_触摸屏编程_定时器程序优化
- 第008节_触摸屏编程_使用定时器支持长按
- 第009节_触摸屏编程_较准原理
- 第010节_触摸屏编程_较准与画线编程
- 第011节_触摸屏编程_测试
- 第012节_触摸屏编程_完善
- 第019课_I2C裸板
- 第001节_I2C协议与EEPROM
- 第002节_S3C2440的I2C控制器
- 第003节_程序框架
- 第004节_I2C控制器编程_框架
- 第005节_I2C控制器编程_中断
- 第006节_EEPROM编程和测试代码
- 第007节_测试
- 第020课_SPI编程
- 第001节_SPI协议介绍
- 第002节_使用GPIO实现SPI协议操作OLED
- 第003节_SPI_FLASH编程_读ID
- 第004节_SPI_FLASH编程_读写
- 第005节_在OLED上显示ADC的值
- 第006节_使用SPI控制器
- 第007节_移植到MINI2440_TQ2440
- 第021课_MMU和Cache
- 第001节_Cache简述及协处理器指令
- 第002节_协处理器指令_开启ICache代码示例
- 第003节_MMU及地址映射
- 第004节_MMU代码示例
- 第022课_传感器
- 第001节_光敏电阻的使用
- 第002节_高精度延时函数
- 第003节_DHT11温湿度传感器的使用
- 第004节_DS18B20温度传感器介绍
- 第005节_DS18B20温度传感器编程
- 第006节_红外线遥控协议简介及编程思路
- 第007节_前期编程_系统时间与环型缓冲区
- 第008节_HS0038红外线接收器的编程_打印原始脉冲
- 第009节_HS0038红外线接收器的编程_解析数据
|
- 第001课_u-boot分析与使用
- 第001节_u-boot分析之编译体验
- 第002节_u-boot分析之Makefile结构分析
- 第003节_u-boot分析之源码第1阶段
- 第004节_u-boot分析之u-boot命令实现
- 第005节_u-boot分析_uboot启动内核
- 第006节_u-boot分析之源码第2阶段
- 第002课_从0写bootloader_更深刻理解bootloader
- 第001节_自己写bootloader之编写第1阶段
- 第002节_自己写bootloader之编写第2阶段
- 第003节_自己写bootloader之编译测试
- 第004节_自己写bootloader之改进
- 第003课_内核配置裁剪及启动流程
- 第001节 内核启动流程分析之编译体验
- 第002节 内核启动流程分析之配置
- 第003节 内核启动流程分析之Makefile
- 第004节 内核启动流程分析之内核启动
- 第004课_根文件系统
- 第001节_构建根文件系统之启动第1个程序
- 第002节_构建根文件系统之init进程分析
- 第003节_构建根文件系统之busybox
- 第004节_构建根文件系统之构建根文件系统
- 第005课_驱动入门_字符设备驱动
- 第001节_字符设备驱动程序之概念介绍
- 第002节_字符设备驱动程序之LED驱动程序_编写编译
- 第003节_字符设备驱动程序之LED驱动程序_操作LED
- 第004节_字符设备驱动程序之LED驱动程序_测试改进
- 第005节_字符设备驱动程序之查询方式的按键驱动程序
- 第006节_字符设备驱动程序之中断方式的按键驱动_Linux异常处理结构
- 第007节_字符设备驱动程序之中断方式的按键驱动_Linux中断处理结构
- 第008节_字符设备驱动程序之中断方式的按键驱动_编写代码
- 第009节_字符设备驱动程序之poll机制
- 第010节_字符设备驱动程序之异步通知
- 第011节_字符设备驱动程序之同步互斥阻塞
|
学习目标
掌握写汇编代码的能力,可以分析任意裸板包括 u-boot、内核里的相关汇编代码
掌握常用的硬件部件操作,比如 GPIO,UART,I2C,LCD,触摸屏;
可以写出这些硬件部件的裸板程序
深入理解 ARM 体系统架构,可以写出具备中断功能的裸板程序,对程序现场的保存、恢复有所了解,这些原理适用于任何架构 CPU,内核及应用程序
熟悉裸板程序的结构,给你一个 bootloader 就能分析它的初始化部分、内存使用情况、链接地址、重定位、程序的相对跳转/绝对跳转等
掌握 bootloader 启动内核的原理,能完全自己写出一个 bootloader、字符设备驱动
产品详情介绍
ARM裸机加强版论坛