如果想要修改為 uart1 也是一樣的
1、下載下傳u-boot 和Linux 源碼
注意:下載下傳之後千萬要先編譯一下,確定下載下傳完整,沒有缺少任何檔案,編譯過程沒有任何錯誤。
1.1 uboot源碼
git clone https://github.com/Lichee-Pi/u-boot.git -b v3s-current #預設SD卡啟動
#or git clone https://github.com/Lichee-Pi/u-boot.git -b v3s-spi-experimental #預設SPI啟動
編譯過程參考:http://zero.lichee.pro/系統開發/uboot_build.html#id2
1.2 linux源碼下載下傳
git clone https://github.com/Lichee-Pi/linux.git
編譯過程參考:http://zero.lichee.pro/系統開發/kernel_build.html#linux
2、修改 uboot 和 linux 源碼
(1)修改 sun8i-v3s-licheepi-zero.dts
注意: uboot 和 linux 都要修改此檔案,uboot 的路徑為:arch/arm/dts ,Linux的路徑是:arch/arm/boot/dts。
aliases {
serial0 = &uart0;
serial2 = &uart2; //新增
};
chosen {
stdout-path = "serial2:115200n8"; //修改
};
&uart0 {
pinctrl-0 = <&uart0_pins_a>;
pinctrl-names = "default";
status = "okay";
};
//新增
&uart2 {
pinctrl-0 = <&uart2_pins_a>;
pinctrl-names = "default";
status = "okay";
};
(2)修改 sun8i-v3s.dtsi檔案
注意: uboot 和 linux 都要修改此檔案,uboot 的路徑為:arch/arm/dts ,Linux的路徑是:arch/arm/boot/dts。
uart0_pins_a: [email protected] {
pins = "PB8", "PB9";
function = "uart0";
bias-pull-up;
};
//新增
uart2_pins_a: [email protected] {
pins = "PB0", "PB1";
function = "uart2";
bias-pull-up;
};
(3)修改 include/configs/sunxi-common.h
注意: 隻需要 uboot 修改此檔案即可。
#define CONFIG_CONS_INDEX 1 /* UART0 */
改為
#define CONFIG_CONS_INDEX 3 /* UART2 */
(4)修改 include/configs/sun8i.h
注意: 隻需要 uboot 修改此檔案即可。
如果是spi啟動方式,則将下列代碼添加到該檔案中,注意添加的位置在“#include <configs/sunxi-common.h>”的前面。
#define CONFIG_BOOTCOMMAND "sf probe 0 108000000; " \
"sf read 0x41000000 0x0F0000 0x010000; " \
"sf read 0x41010000 0x300000 0x800000; " \
"bootz 0x41010000 - 0x41000000"
#define CONFIG_BOOTARGS "console=ttyS2,115200 earlyprintk panic=5 rootwait mtdparts=spi32766.0:960k(uboot),64k(dtb),1M(background),1M(animation),8M(kernel),-(appendfs) root=/dev/ram0 rdinit=/init vt.global_cursor_default=0"
如果是sd卡啟動方式,則将下列代碼添加到該檔案中,注意添加的位置在“#include <configs/sunxi-common.h>”的前面。
#define CONFIG_BOOTCOMMAND "setenv bootm_boot_mode sec; "
"load mmc 0:1 0x41000000 zImage; "
"load mmc 0:1 0x41800000 sun8i-v3s-licheepi-zero-dock.dtb; "
"bootz 0x41000000 - 0x41800000;"
#define CONFIG_BOOTARGS "console=ttyS2,115200 panic=5 rootwait root=/dev/mmcblk0p2 earlyprintk rw vt.global_cursor_default=0"
然後編譯燒錄即可。