4

全志V3S嵌入式驱动开发(准备)_全志v3s芯片手册_嵌入式-老费的博客-CSDN博客

 1 year ago
source link: https://feixiaoxing.blog.csdn.net/article/details/129895872
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

全志V3S嵌入式驱动开发(准备)

original.png
嵌入式-老费 newUpTime2.png 已于 2023-04-01 21:22:12 修改 articleReadEyes2.png 833

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

        要学好嵌入式,其实最好自己可以画板子、调试板子、写软件、调试软件这样来学习。简单的51单片机、stm32这样的mcu或许画起来不是很复杂,但是如果是运行linux系统的soc芯片,那么就没有这么简单了。虽然说linux的核心板无非就是soc、ddr、emc、pwic这些,然而如果真的需要自己画图、自己布线的话,还是需要花费不少心力的。

1、选择一个简单的soc芯片来学习

        很多同学都对ddr比较陌生,更对ddr如何进行pcb layout比较担心,那么我们就可以选择那些集成了ddr的soc,同样可以运行linux系统,比如说V3S就是其中的一种。和一般的soc相比较,它除了集成ddr之外,还集成了ethernet phy,这对于我们学习网络还是非常方便的。

        另外一般的soc中,cpu的频率都比较高一点,很多都是1G以上,cpu本身也支持mmu和cache。当然,它相比较mcu最重要的方面,还是在于对音频、视频编解码的支持,这方面mcu差很多。不过,这也与mcu的定位有关,毕竟大多数mcu都是用于工业上使用,而soc还是用在消费品居多,虽然soc在工业上面用的也不少。

2、选择一个开发板

        电商网站上V3S开发板很多,大家可以灵活进行选择。不过,V3S支持从SD卡启动,也支持Spi Nor Flash/Spi Nand flash启动,还支持USB启动,所以大家如果是为了学习V3S,还是需要购买一个SanDisk品牌的micro SD卡。这样,把所有的code都放在一张micro SD卡上面,就可以进行所有的驱动开发工作。

        V3S中SD卡的启动顺序优先级是最高的,如果SD卡启动失败,才会进行其他方式的选择。这方面来讲,对于初学者来说是很方便的。下面这张图就摘抄自V3S的芯片手册,Page 60

8c2e3495fd68420aa655b2ca487028f3.png

3、准备串口和type C线

        串口打印是嵌入式开发的主要方式。在没有驱动屏幕之前,开发者和芯片的主要交流方式就是串口,甚至对于部分应用来说,根本就没有屏幕,这也是有可能的,比如说一些服务器引用。所以对于开发者来说,最好购买一个usb转ttl的模块,这样就算将来学习其他的板子也会用得到。

        type C线主要是用来进行电源供电使用的。当然,也有的开发板选择的是传统的usb接口,这也是可以的,没有好坏之分。

4、准备开发的电脑和软件

        电脑是肯定要准备的,笔记本电脑最好,一般配置即可,内存最好大一点。此外,因为V3S的cpu是arm,所以这里就用到交叉开发的内容。所以我们需要依次安装虚拟机、ubuntu系统、交叉编译工具、uboot代码、linux kernel代码、build root代码这些内容。等到编译出合适的image文件之后,再把这些文件烧入到SD卡上面,这样简单的系统就可以跑起来了。

5、深入嵌入式linux驱动的开发

        在前面第4个步骤的时候,虽然uboot起来了、kernel起来了、文件系统也起来了,但是很多驱动还没有加载上去。所以这个时候才走到了linux驱动开发这个环节,拿到电路图、熟悉芯片手册、按照linux框架编写驱动代码、测试代码,这才是真正驱动开发的开始。这中间还会涉及到很多的问题,比如硬件的测量、板子的虚焊、驱动的bug,这都是避免不了的,慢慢往前做就好了。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK