703|1

287

帖子

0

TA的资源

纯净的硅(中级)

楼主
 

在全志V851SE开发板TinyVision上 使用 SyterKit 启动 Linux 6.7 主线内核 [复制链接]

 

TinyVision 使用 SyterKit 启动 Linux 6.7 主线内核

SyterKit

SyterKit 是一个纯裸机框架,用于 TinyVision 或者其他 v851se/v851s/v851s3/v853 等芯片的开发板,SyterKit 使用 CMake 作为构建系统构建,支持多种应用与多种外设驱动。同时 SyterKit 也具有启动引导的功能,可以替代 U-Boot 实现快速启动

获取 SyterKit 源码

SyterKit 源码位于GitHub,可以前往下载。

git clone 
链接已隐藏,如需查看请登录或者注册

从零构建 SyterKit

构建 SyterKit 非常简单,只需要在 Linux 操作系统中安装配置环境即可编译。SyterKit 需要的软件包有:

  • gcc-arm-none-eabi
  • CMake

对于常用的 Ubuntu 系统,可以通过如下命令安装

然后新建一个文件夹存放编译的输出文件,并且进入这个文件夹

然后运行命令编译 SyterKit

 

 

编译后的可执行文件位于 build/app 中,这里包括 SyterKit 的多种APP可供使用。

 

 

这里我们使用的是 syter_boot 作为启动引导。进入 syter_boot 文件夹,可以看到这些文件

 

 

由于 TinyVision 是 TF 卡启动,所以我们需要用到 syter_boot_bin_card.bin

 

 

移植 Linux 6.7 主线

有了启动引导,接下来是移植 Linux 6.7 主线,前往 https://kernel.org/ 找到 Linux 6.7,选择 tarball 下载

 

 

下载后解压缩

进入 linux 6.7 目录,开始移植相关驱动。

搭建 Kernel 相关环境

Kernel 编译需要一些软件包,需要提前安装。

安装完成后可以尝试编译一下,看看能不能编译通过,先应用配置文件

 

 

然后尝试编译

可以用 -j32 来加速编译,32 指的是使用32线程编译,一般cpu有几个核心就设置几线程

正常编译

 

 

移植 clk 驱动

这里提供已经适配修改后的驱动:

链接已隐藏,如需查看请登录或者注册
 可以直接使用。

也可以参考 

链接已隐藏,如需查看请登录或者注册
 中的驱动移植。

进入文件夹 include/dt-bindings/clock/ 新建文件 sun8i-v851se-ccu.h ,将 CLK 填入

 

 

进入 include/dt-bindings/reset 新建文件 sun8i-v851se-ccu.h 将 RST 填入

 

 

进入 drivers/clk/sunxi-ng 找到 sunxi-ng clk 驱动,复制文件ccu-sun20i-d1.c 和 ccu-sun20i-d1.h 文件并改名为 ccu-sun8i-v851se.c ,ccu-sun8i-v851se.h 作为模板。

 

 

将文件中的 SUN20I_D1 改为 SUN8I_V851SE

 

 

打开芯片数据手册

链接已隐藏,如需查看请登录或者注册
,找到 CCU 章节

 

 

对照手册编写驱动文件适配 V851se 平台。

然后找到 drivers/clk/sunxi-ng/Kconfig 文件,增加刚才编写的驱动的 Kconfig 说明

 

 

同时打开 drivers/clk/sunxi-ng/Makefile

 

 

来检查一下是否移植成功,先查看 menuconfig,找到 Device Drivers > Common Clock Framework,查看是否有 V851se 平台选项出现

 

 

编译测试,有几处未使用的变量的警告,无视即可。

CROSS_COMPILE=arm-linux-gnueabihf- make ARCH=arm 

 

 

正常编译成功

移植 pinctrl 驱动

这里提供已经适配修改后的驱动:

链接已隐藏,如需查看请登录或者注册
 可以直接使用。

前往drivers/pinctrl/sunxi/ 新建文件 pinctrl-sun8i-v851se.c

 

 

打开 

链接已隐藏,如需查看请登录或者注册
 对照填入PIN的值与功能。

 

 

同样的,修改 drivers/pinctrl/sunxi/Kconfig 增加选项

 

 

修改 drivers/pinctrl/sunxi/Makefile 增加路径

 

 

来检查一下是否移植成功,先查看 menuconfig,找到 > Device Drivers > Pin controllers,查看是否有 V851se 平台选项出现

 

 

编译测试,编译通过

CROSS_COMPILE=arm-linux-gnueabihf- make ARCH=arm 

 

 

编写设备树

这里提供已经适配修改后的驱动:

链接已隐藏,如需查看请登录或者注册
 可以直接使用。

 

 

这部分直接给结果了,把上面适配的设备树放到/home/yuzuki/WorkSpace/aa/linux-6.7-rc5/arch/arm/boot/dts/allwinner/ ,修改 /home/yuzuki/WorkSpace/aa/linux-6.7-rc5/arch/arm/boot/dts/allwinner/Makefile

 

 

 

 

生成刷机镜像

编译内核后,可以在文件夹 arch/arm/boot/dts/allwinner 生成sun8i-v851se-tinyvision.dtb ,在文件夹arch/arm/boot 生成 zImage ,把他们拷贝出来。

 

 

然后将 sun8i-v851se-tinyvision.dtb 改名为 sunxi.dtb ,这个设备树名称是定义在 SyterKit 源码中的,如果之前修改了 SyterKit 的源码需要修改到对应的名称,SyterKit 会去读取这个设备树。

然后编写一个 config.txt 作为配置文件

安装 genimageEEWORLDLINKTK7

这里我们使用 genimage 作为打包工具

编译后运行试一试,这里正常

EEWORLDIMGTK21

使用 genimage 打包固件EEWORLDLINKTK8

编写 genimage.cfg 作为打包的配置

由于genimage的脚本比较复杂,所以编写一个 genimage.sh 作为简易使用的工具

准备完成,文件如下所示

 

 

运行命令进行打包

 

 

打包完成,可以找到 sdcard.img

 

 

使用软件烧录固件到TF卡上

 

 

测试

插卡,上电,成功启动系统

 

 

可以看到 Linux 版本是 6.7.0

 

 

最新回复

看了一下,楼主非常用心的评测,但是有些地方是空白的,发帖后自己也读一下。 [attach]813112[/attach]     详情 回复 发表于 2024-6-1 11:33
点赞 关注
 
 

回复
举报

7003

帖子

11

TA的资源

版主

沙发
 

看了一下,楼主非常用心的评测,但是有些地方是空白的,发帖后自己也读一下。

 

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
推荐帖子
积极拓展机顶盒应用 谨慎应对专利问题

本帖最后由 jameswangsynnex 于 2015-3-3 20:02 编辑 是什么原因导致目前我国机顶盒市场条块分割?机卡不能真正分离的主要原因 ...

电子工程师 月薪三万的智商测试题(答案出来了)

智商测试开始: 小明和小强都是张老师的学生,张老师的生日是某月某日,2人都不知道张老师的生日。 生日是下 ...

0-30v_4a數控穩壓電源 完整的源程序及SCH & PCB

0-30v_4a數控穩壓電源 完整的源程序及SCH & PCB http://download.ourdev.cn/bbs_upload943894/files_10/ourdev_366975.JPGhtt ...

期待黄智伟老师分析2011年大赛试题!

本帖最后由 paulhyde 于 2014-9-15 09:29 编辑 在竞赛版块看到不少黄智伟老师一系列的帖子。。非常给力。。。期待黄智伟老师根 ...

「ADI模拟大学堂」印刷电路板布局基本原理

「ADI模拟大学堂」印刷电路板布局基本原理 (每日一份资料) 从今天开始,「ADI模拟大学堂」开始每天更新一份资料,资料更新目录 ...

LTspice导入第三方库元件外形怎么改变?

LTspice导入第三方库元件的时候,外形都很难看,比如: 589858 其它元件也都是这种方块,要是能自己重画外形就好了。 ...

解锁 TE掌上微网站,获取一站式资源!

TE掌上微网站火热上线啦!小小微站蕴含大大能量! 在这里,你可以“一站式”解决: √ 随时随地,与专 ...

请教有磁芯的电感饱和是怎样计算的?有没有计算公式参考

最近设计电路,忽然不会使用电感了,来坛子里求教老师们,有没有磁芯的电感饱和是怎样计算的?公式是怎样的?

直流转换电源电感下的铺铜

本帖最后由 qwqwqw2088 于 2022-7-18 09:08 编辑 对DC/DC 电源的电感底部是否应该铺铜这个问题,常常有意见分歧。 一种认为, ...

关于实现增强式 eCall 汽车设计,工程师需要了解什么

687107 面对复杂的系统设计挑战,工程师们一直在努力寻求最简单的解决方案,汽车应用领域的 eCall 设计也不例外。在本文中, ...

关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表