RTT 全志D1s RDC2024纪念版使用tina_Linux的移植修改记录

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注运维)
img

正文

2.1、修改tina-d1-h/device/config/chips/d1s/configs/nezha/sys_config.fex

修改前:

[target] 
boot_clock     = 720 
storage_type    = 4 
nand_use_ubi   = 1

修改后:

[target] 
boot_clock     = 720 
storage_type    = 0         //这里改成1和改成0好像都可以,暂不清楚具体区别
nand_use_ubi   = 1

2.2、修改/tina-d1-h/device/config/chips/d1s/configs/nezha/uboot-board.dts

修改前:

&card0_boot_para {  /* Avoid dtc compiling warnings. @TODO: Developer should modify this to the actual value */
  /* reg = <0x0 0x2 0x0 0x0>;  [> Avoid dtc compiling warnings. @TODO: Developer should modify this to the actual value <] */
  device_type = "card0_boot_para";
  card_ctrl = <0x0>;
  card_high_speed = <0x1>;
  card_line = <0x4>;
  /*
  pinctrl-0 = <&sdc0_pins_a>;
  */
};

修改后

&card0_boot_para {  /* Avoid dtc compiling warnings. @TODO: Developer should modify this to the actual value */
  /* reg = <0x0 0x2 0x0 0x0>;  [> Avoid dtc compiling warnings. @TODO: Developer should modify this to the actual value <] */
  device_type = "card0_boot_para";
  card_ctrl = <0x0>;
  card_high_speed = <0x1>;
  card_line = <0x4>;
  pinctrl-0 = <&sdc0_pins_a>;       //取消这段代码的注释
};

2.3、修改tina-d1-h/device/config/chips/d1s/configs/nezha/linux-5.4/board.dts

修改前:

&sdc0 {
  bus-width = <4>;
  cd-gpios = <&pio PF 6 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
  /*non-removable;*/
  /*broken-cd;*/
  /*cd-inverted;*/
  /*data3-detect;*/
  /*card-pwr-gpios = <&pio PH 14 1 1 2 0xffffffff>;*/
  cd-used-24M;
  cap-sd-highspeed;
  /*sd-uhs-sdr50;*/
  /*sd-uhs-ddr50;*/
  /*sd-uhs-sdr104;*/
  no-sdio;
  no-mmc;
  sunxi-power-save-mode;
  /*sunxi-dis-signal-vol-sw;*/
  max-frequency = <150000000>;
  ctl-spec-caps = <0x8>;
  /*vmmc-supply = <&reg_dcdc1>;*/
  /*vqmmc33sw-supply = <&reg_dcdc1>;*/
  /*vdmmc33sw-supply = <&reg_dcdc1>;*/
  /*vqmmc18sw-supply = <&reg_eldo1>;*/
  /*vdmmc18sw-supply = <&reg_eldo1>;*/
  status = "okay";
};

修改后:

&sdc0 { 
  non-removable;
  bus-width = <4>;
  mmc-ddr-1_8v;
  mmc-hs200-1_8v;
  no-sdio;
//  no-mmc;         //此处为什么要注释掉,是干什么的,不太清楚
  ctl-spec-caps = <0x8>;
  cap-mmc-highspeed;
  sunxi-power-save-mode;
  sunxi-dis-signal-vol-sw;
  mmc-bootpart-noacc;
  max-frequency = <150000000>;
  status = "okay";
};

2.4、修改tina_d1_open_v1.0.1\lichee\brandy-2.0\u-boot-2018\drivers\sunxi_flash\mmc\sdmmc.c

修改前

int sunxi_sprite_mmc_probe(void)
{
#ifndef CONFIG_MACH_SUN50IW11
    return sdmmc_init_for_sprite(0, 2);
#else
    int workmode = uboot_spare_head.boot_data.work_mode;
    if (workmode == WORK_MODE_CARD_PRODUCT)
        return -1;
    else
        return sdmmc_init_for_sprite(0, 0);
#endif
}

修改后:

int sunxi_sprite_mmc_probe(void)
{
#ifndef CONFIG_MACH_SUN50IW11
    return sdmmc_init_for_sprite(0, 0);     //此处改为0,强制从SD0开始启动
#else
    int workmode = uboot_spare_head.boot_data.work_mode;
    if (workmode == WORK_MODE_CARD_PRODUCT)
        return -1;
    else
        return sdmmc_init_for_sprite(0, 0);
#endif
}

三、修改串口

3.1、修改tina-d1-h/device/config/chips/d1s/configs/nezha/sys_config.fex

修改前:

[uart_para]
uart_debug_port = 3
uart_debug_tx   = port:PB6<7><1><default><default>
uart_debug_rx   = port:PB7<7><1><default><default>

修改后:

[uart_para]
uart_debug_port = 3
uart_debug_tx   = port:PG8<5><1><default><default>
uart_debug_rx   = port:PG9<5><1><default><default>

其中PG8后面的<5>的数字需要查阅数据手册查看相应串口的功能编号(Function5

3.2、修改tina-d1-h/lichee/brandy-2.0/u-boot-2018/configs/sun20iw1p1_defconfig

在最后添加

CONFIG_SPECIFY_CONSOLE_INDEX=y
CONFIG_CONS_INDEX=4	   #说明:这里是UART3+1 = 4  串口号+1 

3.3、修改tina-d1-h/device/config/chips/d1s/configs/nezha/board.dts

修改前:

&uart3 {
	compatible = "allwinner,sun20iw1-dsp-uart";
	pinctrl-names = "default", "sleep";
	pinctrl-0 = <&uart3_pins_a>;
	pinctrl-1 = <&uart3_pins_a>;
	status = "disabled";
};

修改后

&uart3 {
	compatible = "allwinner,sun20iw1-dsp-uart";
	pinctrl-names = "default", "sleep";
	pinctrl-0 = <&uart3_pins_a>;
	pinctrl-1 = <&uart3_pins_a>;
	status = "okay";
};

3.4、修改tina-d1-h/device/config/chips/d1s/configs/default/env.cfg

修改前:

#kernel command arguments
earlyprintk=sunxi-uart,0x02500C00
initcall_debug=0
console=ttyS3,115200

修改后:

#kernel command arguments
earlyprintk=sunxi-uart,0x02500C00		//此处的地址徐娅根据实际串口外设地址修改
initcall_debug=0
console=ttyS3,115200		//此处的ttyS3需要根据相应的实际串口修改,如串口3则是ttyS3

此时使用全志下载工具下载固件应该可以在相应的串口(波特率115200)读到烧写log,并能成功下载,然后重启。

四、修改RGB666显示屏

4.1、修改tina-d1-h/device/config/chips/d1s/configs/nezha/uboot-board.dts和tina-d1-h/device/config/chips/d1s/configs/nezha/board.dts

uboot_board.dts修改的是uboot的显示设备树

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注运维)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
.dts

uboot_board.dts修改的是uboot的显示设备树

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注运维)
[外链图片转存中…(img-BY25K447-1713172728255)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 22
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值