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

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

        现在的嵌入式芯片越来越多,从51、stm32、soc到gpu、fpga、dsp等专用芯片,基本上只要涉及到逻辑编程,就会涉及到驱动开发。但是什么是驱动开发,为什么要做驱动开发?不知道大家有没有考虑过?嵌入式开发有哪几种?怎么做嵌入式开发?

1、驱动和cpu和其他芯片交互的方法

        不管是哪一种运算芯片,它如果需要和外面的其他芯片打交道,那么只能通过内部的ip core和外界进行通讯,没有其他的办法。外面的芯片可能是各种各样的类型,有存储的、有计算的、有网络的、有传感器的,那么这个时候就需要各种各样对应的ip core来与之通信。所谓的驱动,就是对ip core进行配置,使之可以正常地和外界进行数据的交互,仅此而已。

2、嵌入式驱动和操作系统的关系

        本质上说,嵌入式驱动和操作系统没有一点点关系。比如说,一个i2c的存储芯片,可以在uboot下面写驱动,也可以在linux下面写驱动,同样也可以在android下面写驱动,甚至于不需要任何的平台,直接裸写驱动也是可以的。只不过各个平台为了自己的方便,把驱动中通过的代码抽象成了一个一个的框架,开发的同学只需要了解这个框架,做对应的代码适配就好了,无需重头开始写代码。

3、嵌入式驱动不一定都是内核层代码

        很多同学都以为嵌入式驱动都是内核层代码,这也是不正确的。以linux系统为例,最初设计的时候,确实是想把大多数驱动都放在内核来做。但是到了android的时候,由于GPL协议的限制,很多厂家并不想把所有的驱动都开源出来,这就出现了一种情形,有的厂家把一部分驱动放在了内核层,一部分放在应用层。处于内核层的驱动代码就开源出来,而不想开源的代码就用动态库的方法提供给开发者。此外,还有一种驱动,就是纯应用层的。这一类的驱动包括串口RS232、以太网都属于这一类,比如gps、相机这一类设备的访问,就很大程度上依赖于厂家提供的sdk代码。

4、驱动的作用

        很多同学都以为驱动只是把外界的设备添加到当前的平台中,其实不仅仅如此。如果用的好,驱动可以扮演很多的角色。比如说,对于一些手机拍照软件,完全可以把ddr的一部分内存预留出来,单独做成驱动给camera访问,这样做成buffer之后,可以供消费者快速浏览和处理图片使用。再比如,像zynq这样的arm+fpga集成soc,完全可以自定义ip core,把一些经典的算法设计成ip core,这个时候驱动的作用就不仅仅是驱动设备这么简单,而是说通过驱动实现协处理器的功能,加速代码的执行过程。

5、软件栈中驱动的角色

         驱动在软件开发中的角色,就相当于人的各个感知器官和执行机构。cpu处理的数据再强,没有这些外部数据的输入,就没有办法感知这个世界。同样输出的结果,如果没有执行结构,同样也就没有办法带来任何的改变和效果。所以,driver就是一个承上启下的角色。对于使用者来说,怎么把嵌入式设备用到自己的业务场景和专业领域,这才是自己核心的竞争力。

6、写好驱动需要涉及的几个知识点

        写好驱动主要涉及到这几个方面,1)会读原理图,不会读原理图,不会量电压、测信号,什么也做不了;2)会读芯片手册,很多时候驱动只是把厂家的流程描绘成代码而已;3)会使用平台给出的驱动框架,不管是linux平台还是windows平台;4)会测试代码,很多时候测试完全靠自己,不可能依赖于别人来帮自己进行测试;5)这一点也是最难的,要充分发挥驱动的优势,寻找驱动可以充分发挥自己应用场景的地方,比前四点都要难。

        总是,我们学习是为了应用,绝不是为了学习驱动而学习,怎么用起来才是最重要的。

全志V3S是一款嵌入式处理器,为了在该处理器上开发驱动程序,需要了解SPI-NAND存储器的镜像制作和烧入过程。 SPI-NAND存储器是一种通过SPI总线和处理器进行通信的非易失性存储器。制作SPI-NAND镜像的第一步是获取原始镜像文件,该文件包含了存储器的原始数据。在V3S处理器上,可以通过SPI接口读取存储器中的数据。 SPI-NAND镜像文件制作的第二步是将原始数据转换为可读取的镜像格式。这可以通过使用专门的工具或库来完成,例如U-Boot中提供的mkenvimage工具。 在制作好SPI-NAND镜像文件后,就可以将其烧入到V3S处理器的存储器中。烧入可以通过多种方法完成,最常见的是使用烧写软件,例如PhoenixSuit。首先,连接V3S处理器和主机,并将处理器进入烧写模式。然后,使用烧写软件选择SPI-NAND镜像文件并启动烧写过程。等待烧写完成后,断开连接并重启V3S处理器即可。 需要注意的是,在进行SPI-NAND驱动开发时,还需要编写相应的设备驱动程序以与处理器进行通信。这包括设置SPI接口的参数、进行数据读取和写入等操作。 总结来说,全志V3S嵌入式驱动开发涉及到SPI-NAND镜像的制作和烧入过程,需要获取原始镜像数据并转换为可读取格式,然后使用烧写软件将其烧入到V3S处理器的存储器中。在开发驱动程序时,还需要编写相应的设备驱动程序以实现与处理器的通信。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌入式-老费

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值