许昌做网站,响应式外贸营销网站,网络网站制作,ui做的好的网站有哪些内容1 入门#xff1a;51STM32
主要学习内容中断、定时器、串口、NAND FLASH、网络控制器、LCD屏、触摸屏等的工作原理。学习资源推荐视频#xff1a;野火#xff0c;正点原子书籍#xff1a;野火#xff0c;正点原子学习建议如果你以后的方向是驱动开发#xff0c;这部分学… 1 入门51STM32
主要学习内容中断、定时器、串口、NAND FLASH、网络控制器、LCD屏、触摸屏等的工作原理。学习资源推荐视频野火正点原子书籍野火正点原子学习建议如果你以后的方向是驱动开发这部分学习的话重点放在硬件知识的理解。
买个开发板学习下他们的例程是如何写的常用嵌入式外围设备的硬件工作原理以及如何使用C语言来编程、控制这些硬件。把基本的外设都学习一遍不求都会写但是硬件原理一定要搞清楚。
2 进阶ARM-ALinux
这部分主要分为两个方向Linux应用开发Linux驱动开发。下面我会对这两个方向分别进行说明。有了之前的单片机基础上手Linux开发就会快一点。
可以买个ARM-A内核的开发板ARM-A和stm32很多地方都是相通的理解起来不难二者最大的差别在于开发环境很多新手入门Linux开发在搭建环境时就被劝退了。
学习ARM-A前可以先看下 《ARM体系结构与编程》再去看韦老师视频的话会理解快一点视频中讲到的难理解的这里基本都有。
3 应用开发
主要学习内容Linux系统调用概念多进程多线程实现多任务开发多任务的同步互斥开发:互斥锁、信号量网络数据通信过程TCP/IP协议Socket编程、TCP网络编程、UDP网络编程QT编程。学习资源推荐书籍《Unix环境高级编程》《Unix网络编程》《Qt Creator快速入门》视频这部分视频没看过可以在哔哩哔哩搜索下找播放量高的就可以。
4 驱动开发
主要学习内容Bootloader的工作流程、UBOOT的编译、裁剪与移植、Linux内核的编译、裁剪与移植根文件系统的构建、BootLoader、内核和根文件系统的烧写。重点驱动框架如字符设备驱动、块设备驱动、LCD设备驱动、触摸屏设备驱动总线设备驱动模型输入子系统模型等。
学习资源推荐书籍《Linux设备驱动开发详解》《Linux设备驱动程序》视频强烈推荐韦东山老师学习建议对照视频一点一点学习的过程中刚开始第一遍看的话会有很多地方不明白不要紧。如果在查阅了一些资料后还是不明白可以先往后放放不用深究。内核的许多东西一旦深究起来越陷越深。作为初学者学习驱动开发主要
学习驱动的框架比如输入子系统模型常用的一个函数input_attach_handler()这个函数刚开始我们只需要知道他是用来匹配dev设备和驱动软件就可以暂时可以不用知道这个函数内部是如何实现的。有一定基础之后可以再去深究其中的某个点思考他们为什么这么写。
5 大神各类复杂驱动
一般自学能到第二个阶段就已经相当不错了。复杂驱动部分一般是在工作中学习的。
像Android驱动音视频驱动usb驱动wifi蓝牙协议内核开发等都是比较深入一点的东西了随便拿出一块内容深入钻研下都可以成为这个领域的专家。学习资源推荐书籍这部分方向很多我自己对很多方向也不了解。
分享几本不错的内核书籍《Linux内核设计与实现》《深入理解LINUX内核》《深入Linux内核架构》视频哔哩哔哩搜索【Linux内核精讲】 其实学习资源很多也很杂大家的时间都很昂贵少走点弯路比什么都重要。
欢迎大家加V多交流stm8052