调试串口更改
提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
未完成版本
未完成版本
未完成版本
未完成版本
未完成版本
未完成版本
未完成版本
提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。
uboot 修改
一、修改设备树
vi arch/arm/dts/suniv-f1c100s-licheepi-nano.dts
&uart1 {
// pinctrl-names = "default";
// pinctrl-0 = <&uart1_pins_a>;
// status = "okay";
};
&uart2 {
pinctrl-names = "default";
pinctrl-0 = <&uart2_pins_e>;
status = "okay";
};
serial1 = &uart1;
//serial2 = &uart2;
stdout-path = "serial1:115200n8";
//stdout-path = "serial2:115200n8";
vi arch/arm/dts/suniv.dtsi
uart1_pins_a: uart-pins-pa {
pins = "PA2", "PA3";
function = "uart1";
};
uart2_pins_a: uart-pins-pe-uart2 {
// pins = "PE7", "PE8";
// function = "uart2";
};
二、修改文件
vi arch/arm/include/asm/arch-sunxi/gpio.h
#define SUNIV_GPA_UART1 5
#define SUNIV_GPE_UART2 3
必须放在 #include <configs/sunxi-common.h> 不然会编译报错
vi include/configs/suniv.h
#include <configs/sunxi-common.h>
#undef CONFIG_CONS_INDEX
/*
#define CONFIG_CONS_INDEX 1 //UART0
*/
#define CONFIG_CONS_INDEX 2 //UART1
/*
#define CONFIG_CONS_INDEX 3 //UART2
*/
vi arch/arm/mach-sunxi/board.c
#elif CONFIG_CONS_INDEX == 2 && defined(CONFIG_MACH_SUNIV)
sunxi_gpio_set_cfgpin(SUNXI_GPA(2), SUNIV_GPA_UART1);
sunxi_gpio_set_cfgpin(SUNXI_GPA(3), SUNIV_GPA_UART1);
sunxi_gpio_set_pull(SUNXI_GPA(3), SUNXI_GPIO_PULL_UP);
//#elif CONFIG_CONS_INDEX == 3 && defined(CONFIG_MACH_SUNIV)
// sunxi_gpio_set_cfgpin(SUNXI_GPE(7), SUNIV_GPE_UART2);
// sunxi_gpio_set_cfgpin(SUNXI_GPE(8), SUNIV_GPE_UART2);
// sunxi_gpio_set_pull(SUNXI_GPA(8), SUNXI_GPIO_PULL_UP);
3. 修改内核传递参数
make ARCH=arm menuconfig
ttys1 //我用的串口1就用tty1假如是串口2就tty2
内核修改
vi arch/arm/boot/dts/suniv-f1c100s.dtsi
uart0_pe_pins: uart0-pe-pins {
// pins = "PE0", "PE1";
// function = "uart0";
};
uart1_pa_pins: uart1-pa-pins {
pins = "PA2", "PA3";
function = "uart1";
};
uart2_pe_pins: uart2-pe-pins {
// pins = "PE7", "PE8";
// function = "uart2";
};
vi arch/arm/boot/dts/suniv-f1c100s-licheepi-nano.dts
aliases {
// serial0 = &uart0;
serial1 = &uart1;
// serial2 = &uart2;
};
chosen {
// stdout-path = "serial0:115200n8";
stdout-path = "serial1:115200n8";
// stdout-path = "serial2:115200n8";
};
&uart0 {
// pinctrl-names = "default";
// pinctrl-0 = <&uart0_pe_pins>;
// status = "okay";
};
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&uart1_pa_pins>;
status = "okay";
};
&uart2 {
// pinctrl-names = "default";
// pinctrl-0 = <&uart2_pe_pins>;
// status = "okay";
};
参考
https://whycan.com/viewtopic.php?id=4017