第1课001节:学习单片机?
- 学习单片机前途如何?
工资方面:不乐观
职业发展:单片机很简单,能速成,并且工作10年与工作1、2年的技能差别不大,公司更喜欢用工资低还加班的新人。
应用方面:
a.在一个复杂的系统里面,操作系统是大脑,单片机可以实现手指的功能。
b.单片机产品升级换代太慢,活儿少,技能老。
c.单片机的价格优势逐渐消失。
技术方面:如果掌握Linux的bootloader,那么C51、STM32是小菜一碟。
- 为什么没有前途也要学习?他是最好的入口。
嵌入式系统构成:单片机之大全Bootloader–>Linux驱动–>LinuxAPP–>LinuxGUI(Android/QT)
Bootloader:是单片机程序的大全,可以先写出各个模块的逻辑程序,再学习bootloader
linux驱动=软件框架+硬件操作
单片机的学习可以让我们抛开复杂的软件结构,先掌握硬件操作(看原理图、芯片手册、写程序操作寄存器)
学习注意:
a.不要使用C51、STM32等专用单片机开发板。
b.不要使用keil、MDK等集成度太高的软件。
一个Linux系统的软件组成:
windows PC:
Android手机/工控设备:
其中bootloader:
a.去flashsd卡读取内核,因此有读取flash/sd卡的能力。
b.能够显示logo,操作lcd的能力。
c.初始化时钟
d.初始化内存
e.设置网卡
怎么学习bootloader?
应该要拆开写出单独的程序:led、时钟、网卡、flash
即也就是单独的单片机程序
其中linux内核:
也要有操作硬件的能力,也就是驱动程序。
简单驱动框架:
app:open, read, write
驱动:drv_open, drv_read, drv_write
drv_open: 配置硬件,GPIO设置为输出
drv_read: 返回GPIO的状态
drv_write: 写GPIO
驱动程序=软件框架+硬件操作
硬件操作学习要点:
a.学会看原理图
b.看芯片手册
c.知道怎么读写寄存器
故可以在单片机里学习
- 使用s3c2440开发板,在ubuntu下使用arm-linux-gcc工具来编译程序。