您的位置  > 互联网

2022/03/23更新重新整理一下

重新组织内容。 如果你是做驱动开发或者BSP相关开发,那么买一块板子开始调试是必须的。 对于应用层开发,可以安装系统或者使用虚拟机代替。 目前全志、瑞芯微等开发板厂家基本都能提供纯Linux(构建root或yocto)、、、这四种系统,并且系统可以使用apt包管理,不需要自己手动移植程序。

国内的开发板几乎都采用、、的芯片。 其中 SDK文档最全,有中英文版本,包括软硬件的各种文档。 该文档的PDF位于SDK源代码中。 从芯片性能来看,瑞芯微的芯片最高端,规格和NPU最强,而全志则拥有RISC-V核心。 从价格上看,全志有十几元、二十多元的v3,极其便宜。 和的个人用户基本买不到芯片。

目前国内的开发板公司有(友德电子)、radxa(瑞萨斯科技)、(天启智能)、(迅龙软件)、(必派科技)、(硅科科技)等,排名不分先后。 喜欢收藏开发板的可以详细了解一下。

更新于2021年11月22日

我总结一下或者给初学者布置一些学习路线。

2021年,Linux驱动开发基于厂商提供的BSP版本,这意味着不需要从底层移植Linux,也不需要提供SPI、UART、I2C、面板核心等板载外设、core、Core、USB core等移植的驱动均由厂家提供并保证能够按照厂家的规划正常工作。 你所要做的可能只是移植一个I2C芯片驱动、适配GPIO布局、修改U-boot启动参数、调整镜像分区大小等一些小工作。

因此,重点是了解Linux驱动框架,包括某些类型设备的框架和必要的API,了解设备树,学习各种调试技术。 现阶段,你买来学习用的任何板子都几乎是一样的,因为Linux内核都是一样的,大部分需要自己移植的驱动都可以通过内核标准API进行适配,无需修改内核底层代码或者如果你正在闭门造车,你真正需要的是一套合理的开发教程来指导你快速适配某个外设、调试某个驱动。

说到这里,我还是建议大家先看免费的教程,比如正点原子和野火,或者买一本Linux驱动开发的书,比如宋宝华老师的《Linux设备驱动开发详解》,里面会详细介绍。 Linux内核的驱动框架以及各种API(PS:这本书其实可以在网上免费购买)。 如果你实在太懒或者跨专业学习,那么报名培训班可能是你唯一的选择。 看教程、看书的学习速度肯定不会比上培训班快。

其实买一块内核代码至少3.18,最好是4.14以上的开发板就可以满足你的需求了。 最好有一块带有BSP代码的板子,方便以后后续学习。 如果你带的是纯Linux版本(版本或者Yocto),基本上所有程序都得自己移植。 它们通常用于开发轻量级 GUI,例如 Qt 或 LVGL。 这种板的性能很低,而且是最便宜的。

不管你买什么板子,买之前最好去wiki上找到该板子的代码和文档,下载代码并编译,防止你买了却发现根本没有信息或者该信息不适合您。 如果你连板子都编译不了怎么办? 你是免费买的吗? (强烈建议自己搭建编译环境,我不是劝你,这是你必须要知道的)。

开发板建议:

如果预算足够,可以买的3356和3358,一般都有mipi接口(DSI和CSI)。 可以学高端屏,也可以学BSP开发,知道这两个你会很开心。 此外,高端芯片还带有PCI-E和全功能的TYPE-C,如果你对USB非常熟悉,这也是一个优势。 瑞芯微的这三款芯片都带有NPU,是做机器学习的同学必买的。 的文档也很全面,包括这些高端外设的适配方法文档。 板子价格昂贵,但制作精良。 尤其是该系列,它本身就是一个小型游戏机(电视盒)。 主板硬件完全按照消费电子设计,因此不会进行任何精简。 如果你懒得自己开发,你仍然可以刷他们的系统并制作一个电视盒或游戏机。 它根本不会吃东西。 灰。

如果预算有限,也可以购买全志的芯片。 如今,在芯片价格大幅上涨的背景下,全志的开发板仍有100多款可供选择。 不过全志的SDK信息会少很多。 100多块板子最多只能有WiFi和蓝牙芯片,基本没有外设。 想要移植外设,就得靠自己了。 彭智慧的夸克开发板基于全智H3芯片。 。 全志的芯片也可以跑,非常值得买一颗,了解一下整体架构。

不推荐开发板:

树莓派,理由:2022年树莓派已经贵得离谱了。全志D1,理由:RISC-V架构还不是主流,操作系统支持没有arm那么完善。 不适合初学者上手,老手会忽略。

我的购买经历:

我买了ROC这个PC开发板,买了模块,画了转接板,连接mipi液晶屏。 之前买了raxda的ROCK PI4,但是不能用电池供电,也没有USB TYPE-C(板子的TYPE-C只能供电)。 我觉得硬件设计还可以,所以就卖了二手的。 我还买了duo2,看上去和stm32 pico大小一样,很精致,但是IO太少,玩了一段时间yocto就散架了。 我为 Pi 购买了 0 w 和 4b,只需单击 LED 即可点亮 SPI 屏幕。 树莓派的主要用途是给别人架设,我架完之后就卖完了。

我目前做的工作一个是对一些低速口相关的外设做驱动适配,另一个是USB相关的板级适配。 USB其实很复杂,包括TYPE-C、DP、OTG。 以后有机会想多了解一下USB协议栈,看看PCI-E。

2020 年更新部分:

我推荐 Pi Zerow。 只需几十美元即可获得 wifi、蓝牙、USB 等,而且教程很到位。 渴望学习和理解的最根本目标是能够应用它。 事实上,Linux中的一切都是框架厂商给出的这样一个状态。 我们只需要稍作修改即可移植并应用。 对于初学者来说,可以跳过裸机和uboot,因为这些基本上是树莓派不会用到的,而且在实际工作中,如果不是原创作品,很少会暴露出来。 你可以先看一下设备树。

如果你考虑以后要开发,你可以买一个 Pi 4b。 网上的源代码和Linux源代码都是开放的。 社区信息和活动都非常好。 如果你擅长的话,你可以和外国大师交流。

如果是应用层开发,更推荐 Pi。 该系统比较新并且非常稳定。 它基于而不是一个独立的嵌入式Linux分支,可以方便各种环境的安装。 我帮助别人完成了一个在线视频监控项目,使用mjpeg-和UVC CSI摄像头加上boa http服务器,一天就完成了。

近日,野火也发布了Linux教程视频,并完成了更新。 和郑点Atom一样可以免费使用。 这并不是说免费卖淫是合理的。 如果您觉得好的话支持一下作者,也会给作者更新的动力。

另外,树莓派基金会的网站文档基本涵盖了方方面面,包括整个树莓派原理图、SOC外设数据手册、设备树教程和设备树覆盖、PCB机械图、树莓派内核源码等。 库和每个版本分支以及如何拉取代码来编译内核。 这些你需要去发现。 当然,以上都是英文的。 如果你想考虑将树莓派作为学习的开发板,最好先编译内核代码并研究文档。

/帮助

Pi是目前唯一一个代码不断更新的开源开发板,也是唯一一个可以刷系统的arm开发板。