目标嵌入式开发板及系统移植调研
1、已有的开发板:GD32F470Z
GD32F470Z采用了32位ARM Cortex-M4作为其处理器核心,并在此基础上添加了各种自定义的外围设备和功能。这种嵌入式开发板通常被设计成为开发人员、工程师或者学生用来快速开发、测试和原型设计嵌入式系统的工具。
Cortex-M4是一种32位处理器,一次可以处理32位的数据。Cortex-M4基于ARMv7-M架构,这是ARM Cortex-M系列的架构版本。ARMv7-M支持一组32位的指令集,并具有一些内存保护和系统控制的特性。
在ARM Cortex-M4这样的微控制器上,直接移植Linux并不是一种常规的做法,因为Linux通常需要较大的内存和处理能力,而微控制器的资源相对较有限。
2、Cortex-M系列 VS Cortex-A系列:
(1)Cortex-M系列是为嵌入式系统设计的,通常用于低功耗、实时性要求高的应用。Cortex-M处理器常用于微控制器,支持的内存和外设资源相对有限。
在Cortex-M系列上移植Linux通常是不常见的,因为Linux对硬件资源的需求较大,而Cortex-M系列的处理器通常缺乏适应运行Linux所需的内存、存储和外设。
(2)Cortex-A系列是用于更复杂的应用,包括移动设备、嵌入式系统和网络设备等。Cortex-A处理器通常拥有更大的内存地址空间、更高的时钟频率,以及更多的外设支持。
在Cortex-A系列上移植Linux是非常常见的,并且已经有许多成功的移植案例。主流的Linux发行版,如Ubuntu、Debian、和Yocto Project等,提供了对Cortex-A架构的支持。移植Linux到Cortex-A系列处理器的工作相对较为标准,由于这些处理器更接近传统计算机架构,已经有了完善的内核支持和设备驱动。
总结:
总体而言,如果应用场景需要运行Linux操作系统,且硬件资源足够,通常会选择Cortex-A系列处理器。而Cortex-M系列更适合运行实时操作系统(RTOS)或者轻量级的嵌入式操作系统。在选择处理器和进行移植工作之前,最好详细了解目标硬件的特性和Linux内核的支持情况。同时,RISC-V 架构在支持 Linux 操作系统方面的生态系统还相对较为初级,与 x86 和 ARM 架构相比,可用的硬件和软件支持较为有限。
3、Cortex A系列的开发板
(1)SK-TDA4VM
SK-TDA4VM是德州仪器(Texas Instruments)推出的一款基于TDA4VM处理器的评估开发套件。
TDA4VM处理器是一款双核处理器,集成了两种不同的Arm Cortex核心,Cortex-A72和Cortex-R5F。TDA4VM具有双核 64 位 Arm Cortex-A72 微处理器子系统,性能高达 2.0GHz;同时有6个 Arm Cortex-R5F MCU,性能高达 1.0GHz。
官网:https://www.ti.com.cn/tool/cn/SK-TDA4VM
价格:2200~2600
德州仪器的中文论坛:https://e2echina.ti.com/
(2)TL62x-EVM
TL62x-EVM是创龙科技开发的一款基于TI Sitara系列AM62x单/双/四核ARM Cortex-A53 + 单核ARM Cortex-M4F多核处理器设计的高性能低功耗工业评估板,由核心板和评估底板组成。处理器ARM Cortex-A53(64-bit)主处理单元主频高达1.4GHz,ARM Cortex-M4F实时处理单元主频高达400MHz,采用16nm最新工艺,具有可与FPGA高速通信的GPMC并口,同时支持双屏异显、3D图形加速器。
官网:https://tronlong.com/Product/show/226.html
官方商城:https://tronlong.tmall.com/
价格:没有找到TL62x-EVM,但看到TI AM62×,其中装有Cortex-A53,可以移植Linux,Linux-RT,RTOS,Ubuntu.
价格:228-358
德州仪器的中文论坛:https://e2echina.ti.com/
(3)Arc处理器/Arc EM9D
新思科技
官网:https://www.synopsys.com/dw/ipdir.php?ds=arc-em9d-em11d
搜不到资料
(4)EAIDK-610
EAIDK-610 是一款搭载瑞芯微(Rockchip)RK3399 处理器的嵌入式 AI 开发套件,主芯片是Arm SoC的RK3399。最近该套件被添加到了 Linux 6.1 可支持的设备列表中。是一款嵌入式人工智能开发套件,是专为AI开发者精心打造,面向边缘计算的人工智能开发套件。
RK3399是瑞芯微(Rockchip)公司推出的一款高性能ARM处理器。它采用了big.LITTLE架构,集成了2个Cortex-A72核心和4个Cortex-A53核心,以及ARM Mali-T864 GPU。
资料较多,主要和计算机视觉有关
价格:1200
(官网上搜不到EAIDK-610...)
(5)地平线旭日X3
地平线旭日X3是中国地平线公司推出的一款人工智能处理器,该处理器采用了地平线自主研发的Dhyana架构,具有5Tops端侧推理与4核Cortex-A53处理能力。
价格:400-600
官网:https://developer.horizon.ai/rdkx3
论坛:https://developer.horizon.ai/forum
4、在目标嵌入式开发板移植Linux操作系统的4个步骤:
- 决定系统组件(硬件组件)。包括 JTAG 调试器、串口调试器、外部 Flash 存储器等。其中 JTAG 调试器用于下载程序和调试程序,串口调试器用于输出调试信息,外部 Flash 存储器用于存储文件系统。
-
配置及建立内核(编译内核)。可以选择从官方网站下载源代码,然后进行内核编译,最后将编译出来的内核镜像文件烧录到目标嵌入式开发板的外部Flash存储器中。注意,在编译内核时需要选择适合目标嵌入式开发板的配置选项。
-
建立根文件系统(陆续加入所需要的工具程序和链接库)。在编译文件系统时,可以选择使用 BusyBox 或者 Buildroot。BusyBox 是一个轻量级的工具集,包含了许多常用的 Linux 工具,可以用来构建嵌入式系统。Buildroot 是一个基于 Makefile 的自动化构建工具,可以根据配置文件生成文件系统。
内核会从这个文件系统加载它在系统上执行的第一个应用程序,后续内核还得靠这个文件系统做进一步的操作。
-
设置及配置存储设备与引导加载程序等工作。
具体可借鉴:【STM32F103移植Linux】 https://www.linuxprobe.com/syzlgcfxytl.html
或者有关在嵌入式开发板上构建Linux系统的书籍
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)