【RV1103】如何新增一个新板级配置

文章目录

新建一个板级配置文件

我的目标

通过./build.sh lunch 来选择我的板子配置。

在目录sdk/project/cfg目录下新建一个xxxx.mk文件,文件名字格式如下:

bash 复制代码
BoardConfig-"启动介质"-"电源方案"-"硬件版本"-"应用场景".mk
bash 复制代码
----------------------------------------------------------------
0. BoardConfig_IPC/BoardConfig-EMMC-NONE-RV1103_Luckfox_Pico-IPC.mk
                             boot medium(启动介质): EMMC
                          power solution(电源方案): NONE
                        hardware version(硬件版本): RV1103_Luckfox_Pico
                              applicaton(应用场景): IPC
----------------------------------------------------------------

----------------------------------------------------------------
1. BoardConfig_IPC/BoardConfig-SPI_NAND-NONE-RV1103_Luckfox_Pico_Plus-IPC.mk
                             boot medium(启动介质): SPI_NAND
                          power solution(电源方案): NONE
                        hardware version(硬件版本): RV1103_Luckfox_Pico_Plus
                              applicaton(应用场景): IPC
----------------------------------------------------------------
  • BoardConfig-EMMC-NONE-RV1103_Luckfox_Pico-IPC.mk
  • BoardConfig-SPI_NAND-NONE-RV1103_Luckfox_Pico_Plus-IPC.mk

- 作为大区分
_作为字符串内部的区分

而我的目标是,在板子RV1103_Luckfox_Pico的基础上加入了,sd卡、sdio-wifi卡和spi-nand Flash,故我取了一个名字

  • BoardConfig-SPI_NAND-NONE-RV1103_Luckfox_Pico_Pro-SD_WIFI_IPC.mk

脚本解析出来是:

bash 复制代码
----------------------------------------------------------------
2. BoardConfig_IPC/BoardConfig-SPI_NAND-NONE-RV1103_Luckfox_Pico_Pro-SD_WIFI_IPC.mk
                             boot medium(启动介质): SPI_NAND
                          power solution(电源方案): NONE
                        hardware version(硬件版本): RV1103_Luckfox_Pico_Pro
                              applicaton(应用场景): SD_WIFI_IPC
----------------------------------------------------------------

它的主要内容

bash 复制代码
#!/bin/bash

# Target arch
export RK_ARCH=arm

# Target CHIP
export RK_CHIP=rv1106

# Target Toolchain Cross Compile
export RK_TOOLCHAIN_CROSS=arm-rockchip830-linux-uclibcgnueabihf

# Target boot medium: emmc/spi_nor/spi_nand
export RK_BOOT_MEDIUM=spi_nand

# Uboot defconfig
export RK_UBOOT_DEFCONFIG=rv1106_defconfig

# Uboot defconfig fragment
export RK_UBOOT_DEFCONFIG_FRAGMENT=rk-sfc.config

# Kernel defconfig
export RK_KERNEL_DEFCONFIG=luckfox_sd_wifi_rv1106_linux_defconfig

# Kernel dts
export RK_KERNEL_DTS=rv1103g-luckfox-pico-pro.dts
...

plus板设备树的继承关系:
rv1103.dtsi rv1103g-luckfox-pico-plus.dts rv1106-evb.dtsi rv1103-luckfox-pico-plus-ipc.dtsi rv1106.dtsi rv1106-amp.dtsi rv1106-amp.dtsi dt-bindings/input/input.h

我的板设备树的继承关系:
rv1103.dtsi rv1103g-luckfox-pico-pro.dts rv1106-evb.dtsi rv1103-luckfox-pico-pro-ipc.dtsi rv1106.dtsi rv1106-amp.dtsi rv1106-amp.dtsi dt-bindings/input/input.h

rv1103g-luckfox-pico-pro.dts相对于rv1103g-luckfox-pico-plus.dts的主要修改:

c 复制代码
/**********spi nand flash**********/
&sfc {
	status = "okay";

	flash@0 {
		compatible = "spi-nand";
		reg = <0>;
		spi-max-frequency = <75000000>;
		spi-rx-bus-width = <4>;
		spi-tx-bus-width = <1>;
	};
};
/**********mmc interface for sd card**********/
&sdmmc {
	max-frequency = <50000000>;
	no-sdio;
	no-mmc;
	bus-width = <4>;
	cap-mmc-highspeed;
	cap-sd-highspeed;
	disable-wp;
	pinctrl-names = "default";
	pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_det &sdmmc0_bus4>;
	status = "okay";
};
/***********mmc interface for wifi**********/
&emmc {
	max-frequency = <50000000>;
	no-sdio;
	no-mmc;
	bus-width = <4>;
	cap-mmc-highspeed;
	cap-sd-highspeed;
	disable-wp;
	pinctrl-names = "default";
	pinctrl-0 = <&sdmmc1_clk &sdmmc1_cmd &sdmmc1_det &sdmmc1_bus4>;
	status = "okay";
};

/**********ETH**********/
//&gmac {
//	status = "okay";
//};
相关推荐
7yewh2 天前
嵌入式驱动RK3566 HDMI eDP MIPI 背光 屏幕选型与调试提升篇-eDP屏
linux·arm开发·驱动开发·嵌入式硬件·嵌入式linux·rk·edp
charlie1145141919 天前
嵌入式Linux应用层开发——调试专篇(关于使用GDB调试远程下位机开发板的应用层程序办法 + VSCode更好的界面调试体验提升)
linux·c语言·开发语言·vscode·imx6ull·嵌入式linux·调试技术
charlie11451419122 天前
嵌入式Linux C语言笔记——信号
linux·c语言·开发语言·笔记·c·嵌入式linux
宁静致远20211 个月前
Linux驱动开发(速记版)--设备树插件
linux·驱动开发·嵌入式linux
编程圈子1 个月前
I.MX6U 裸机开发20. DDR3 内存知识
嵌入式硬件·嵌入式linux·i.mx6u
kedvellek1 个月前
Linux的目录结构
linux·嵌入式linux
憧憬一下2 个月前
C/S模型的简单实现(UDP服务器)、本地套接字(sockaddr_un )的讲解
网络·udp·socket·嵌入式linux·c/s模型
憧憬一下3 个月前
线程池的实现和讲解:解决多线程并发服务器创建销毁线程消耗过大的问题
linux·线程池·c/c++·嵌入式linux
LebronChen~4 个月前
嵌入式Linux学习笔记
单片机·操作系统·嵌入式linux
板栗焖小鸡5 个月前
【开源】嵌入式Linux(IMX6U)应用层综合项目(4)--音乐播放器APP
linux·运维·服务器·开源·嵌入式linux