韦东山

韦东山

在一个复杂的系统中,操作系统是大脑,单片机可以实现手指等功能 在技术方面:如果掌握了linux的bootloader, 那么C51,STM32是小菜一碟

不要使用老一套办法来学习单片机 不要使用C51, STM32专用开发板 不要使用keil, MDK等集成度太高的软件

嵌入式Linux的组成 bootloader linux kernel 内核 rootfs 根文件系统 app 应用程序

bootloader 读出内核 初始化时钟 初始化内存 设置网卡 读取flash/sd卡的能力 显示logo,操作lcd的能力

bootloader太复杂,怎么学习 -> 写出单独的程序 LED 时钟 网卡 Flash

内核 也要有操作硬件的能力

简单驱动程序框架 APP: 调用read, write等标准接口访问硬件 驱动: drv_open, drv_read

驱动程序 = 软件框架 + 硬件能力

硬件操作 看原理图 看芯片手册 知道怎么去读写寄存器

硬件操作可以现在单片机中学习

如何学习单片机 -> 为后续的Linux打基础 选择什么开发板 使用什么开发工具

bootloader -> kernel/driver -> app (有界面qt, android, 无界面)

开发板选择原则 -> 资料丰富

开发板芯片 三星 s3c2440 s3c6410 s5pv210 exynos4412

TI
    am437x
    am335x

Freescake (飞思卡儿)
    I.MX6

全志、瑞芯微 (资料不开放)

错误观点: 2440过时了

芯片的组成: CPU UART I2C SPI LCD

差别在于外设,不在于CPU

使用什么开发工具: ADS, Keil, MDK 直接写main函数 arm-linux-gcc

2440的arm+linux学习后很快能掌握STM32的知识