WhyCan Forum(哇酷开发者社区)

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn

您尚未登录。

#1 2018-07-20 16:28:34

awfans
会员
注册时间: 2018-04-03
累计积分: 264

请问 主线u-boot 如何修改默认的串口 ?

git clone https://github.com/Lichee-Pi/u-boot.git -b v3s-spi-experimental

代码是上面这里下载到的.

默认是从 PB8,PB9 这组 UART0 输出的,
我现在想改到 PB0, PB1 这组 UART2 输出,
应该如何做到呢?

离线

#2 2018-07-20 17:47:45

awfans
会员
注册时间: 2018-04-03
累计积分: 264

Re: 请问 主线u-boot 如何修改默认的串口 ?

QQ20180720174614.png

QQ20180720174524.png

修改了这两个文件:
    modified:   arch/arm/dts/sun8i-v3s-licheepi-zero.dts

/*
 * Copyright (C) 2016 Icenowy Zheng <icenowy@aosc.xyz>
 *
 * This file is dual-licensed: you can use it either under the terms
 * of the GPL or the X11 license, at your option. Note that this dual
 * licensing only applies to this file, and not this project as a
 * whole.
 *
 *  a) This file is free software; you can redistribute it and/or
 *     modify it under the terms of the GNU General Public License as
 *     published by the Free Software Foundation; either version 2 of the
 *     License, or (at your option) any later version.
 *
 *     This file is distributed in the hope that it will be useful,
 *     but WITHOUT ANY WARRANTY; without even the implied warranty of
 *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *     GNU General Public License for more details.
 *
 * Or, alternatively,
 *
 *  b) Permission is hereby granted, free of charge, to any person
 *     obtaining a copy of this software and associated documentation
 *     files (the "Software"), to deal in the Software without
 *     restriction, including without limitation the rights to use,
 *     copy, modify, merge, publish, distribute, sublicense, and/or
 *     sell copies of the Software, and to permit persons to whom the
 *     Software is furnished to do so, subject to the following
 *     conditions:
 *
 *     The above copyright notice and this permission notice shall be
 *     included in all copies or substantial portions of the Software.
 *
 *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
 *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
 *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 *     OTHER DEALINGS IN THE SOFTWARE.
 */

/dts-v1/;
#include "sun8i-v3s.dtsi"
#include "sunxi-common-regulators.dtsi"

/ {
	model = "Lichee Pi Zero";
	compatible = "licheepi,licheepi-zero", "allwinner,sun8i-v3s";

	aliases {
		serial0 = &uart0;
		serial2 = &uart2;
		spi0 = &spi0;
		ethernet0 = &emac;
	};

	chosen {
		stdout-path = "serial2:115200n8";
	};
};

&emac {
       phy = <&phy0>;
       phy-mode = "mii";
       allwinner,use-internal-phy;
       allwinner,leds-active-low;
       status = "okay";
       phy0: ethernet-phy@0 {
               reg = <1>;
       };
};

&mmc0 {
	pinctrl-0 = <&mmc0_pins_a>;
	pinctrl-names = "default";
	broken-cd;
	bus-width = <4>;
	vmmc-supply = <&reg_vcc3v3>;
	status = "okay";
};

&spi0 {
	status = "okay";
};

&uart0 {
	pinctrl-0 = <&uart0_pins_a>;
	pinctrl-names = "default";
	status = "okay";
};

&uart2 {
	pinctrl-0 = <&uart2_pins_a>;
	pinctrl-names = "default";
	status = "okay";
};


&usb_otg {
	dr_mode = "otg";
	status = "okay";
};

&usbphy {
	usb0_id_det-gpio = <&pio 5 6 GPIO_ACTIVE_HIGH>;
	status = "okay";
};

    modified:   arch/arm/dts/sun8i-v3s.dtsi

/*
 * Copyright (C) 2016 Icenowy Zheng <icenowy@aosc.xyz>
 *
 * This file is dual-licensed: you can use it either under the terms
 * of the GPL or the X11 license, at your option. Note that this dual
 * licensing only applies to this file, and not this project as a
 * whole.
 *
 *  a) This file is free software; you can redistribute it and/or
 *     modify it under the terms of the GNU General Public License as
 *     published by the Free Software Foundation; either version 2 of the
 *     License, or (at your option) any later version.
 *
 *     This file is distributed in the hope that it will be useful,
 *     but WITHOUT ANY WARRANTY; without even the implied warranty of
 *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *     GNU General Public License for more details.
 *
 * Or, alternatively,
 *
 *  b) Permission is hereby granted, free of charge, to any person
 *     obtaining a copy of this software and associated documentation
 *     files (the "Software"), to deal in the Software without
 *     restriction, including without limitation the rights to use,
 *     copy, modify, merge, publish, distribute, sublicense, and/or
 *     sell copies of the Software, and to permit persons to whom the
 *     Software is furnished to do so, subject to the following
 *     conditions:
 *
 *     The above copyright notice and this permission notice shall be
 *     included in all copies or substantial portions of the Software.
 *
 *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
 *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
 *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 *     OTHER DEALINGS IN THE SOFTWARE.
 */

#include <dt-bindings/clock/sun8i-v3s-ccu.h>
#include <dt-bindings/reset/sun8i-v3s-ccu.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/pinctrl/sun4i-a10.h>

/ {
	#address-cells = <1>;
	#size-cells = <1>;
	interrupt-parent = <&gic>;

	cpus {
		#address-cells = <1>;
		#size-cells = <0>;

		cpu@0 {
			compatible = "arm,cortex-a7";
			device_type = "cpu";
			reg = <0>;
			clocks = <&ccu CLK_CPU>;
		};
	};

	timer {
		compatible = "arm,armv7-timer";
		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
	};

	clocks {
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;

		osc24M: osc24M_clk {
			#clock-cells = <0>;
			compatible = "fixed-clock";
			clock-frequency = <24000000>;
			clock-output-names = "osc24M";
		};

		osc32k: osc32k_clk {
			#clock-cells = <0>;
			compatible = "fixed-clock";
			clock-frequency = <32768>;
			clock-output-names = "osc32k";
		};
	};

	soc {
		compatible = "simple-bus";
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;

		dma: dma-controller@01c02000 {
			compatible = "allwinner,sun8i-v3s-dma";
			reg = <0x01c02000 0x1000>;
			interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&ccu CLK_BUS_DMA>;
			resets = <&ccu RST_BUS_DMA>;
			#dma-cells = <1>;
		};

		syscon: syscon@01c00000 {
			   compatible = "allwinner,sun8i-h3-syscon","syscon";
			   reg = <0x01c00000 0x34>;
		};

		mmc0: mmc@01c0f000 {
			compatible = "allwinner,sun7i-a20-mmc";
			reg = <0x01c0f000 0x1000>;
			clocks = <&ccu CLK_BUS_MMC0>,
				 <&ccu CLK_MMC0>,
				 <&ccu CLK_MMC0_OUTPUT>,
				 <&ccu CLK_MMC0_SAMPLE>;
			clock-names = "ahb",
				      "mmc",
				      "output",
				      "sample";
			resets = <&ccu RST_BUS_MMC0>;
			reset-names = "ahb";
			interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
			status = "disabled";
			#address-cells = <1>;
			#size-cells = <0>;
		};

		mmc1: mmc@01c10000 {
			compatible = "allwinner,sun7i-a20-mmc";
			reg = <0x01c10000 0x1000>;
			clocks = <&ccu CLK_BUS_MMC1>,
				 <&ccu CLK_MMC1>,
				 <&ccu CLK_MMC1_OUTPUT>,
				 <&ccu CLK_MMC1_SAMPLE>;
			clock-names = "ahb",
				      "mmc",
				      "output",
				      "sample";
			resets = <&ccu RST_BUS_MMC1>;
			reset-names = "ahb";
			interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
			status = "disabled";
			#address-cells = <1>;
			#size-cells = <0>;
		};

		mmc2: mmc@01c11000 {
			compatible = "allwinner,sun7i-a20-mmc";
			reg = <0x01c11000 0x1000>;
			clocks = <&ccu CLK_BUS_MMC2>,
				 <&ccu CLK_MMC2>,
				 <&ccu CLK_MMC2_OUTPUT>,
				 <&ccu CLK_MMC2_SAMPLE>;
			clock-names = "ahb",
				      "mmc",
				      "output",
				      "sample";
			resets = <&ccu RST_BUS_MMC2>;
			reset-names = "ahb";
			interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
			status = "disabled";
			#address-cells = <1>;
			#size-cells = <0>;
		};

		usb_otg: usb@01c19000 {
			compatible = "allwinner,sun8i-h3-musb";
			reg = <0x01c19000 0x0400>;
			clocks = <&ccu CLK_BUS_OTG>;
			resets = <&ccu RST_BUS_OTG>;
			interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
			interrupt-names = "mc";
			phys = <&usbphy 0>;
			phy-names = "usb";
			extcon = <&usbphy 0>;
			status = "disabled";
		};

		usbphy: phy@01c19400 {
			compatible = "allwinner,sun8i-v3s-usb-phy";
			reg = <0x01c19400 0x2c>,
			      <0x01c1a800 0x4>;
			reg-names = "phy_ctrl",
				    "pmu0";
			clocks = <&ccu CLK_USB_PHY0>;
			clock-names = "usb0_phy";
			resets = <&ccu RST_USB_PHY0>;
			reset-names = "usb0_reset";
			status = "disabled";
			#phy-cells = <1>;
		};

		ccu: clock@01c20000 {
			compatible = "allwinner,sun8i-v3s-ccu";
			reg = <0x01c20000 0x400>;
			clocks = <&osc24M>, <&osc32k>;
			clock-names = "hosc", "losc";
			#clock-cells = <1>;
			#reset-cells = <1>;
		};

		rtc: rtc@01c20400 {
			compatible = "allwinner,sun6i-a31-rtc";
			reg = <0x01c20400 0x54>;
			interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
				     <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
		};

		pio: pinctrl@01c20800 {
			compatible = "allwinner,sun8i-v3s-pinctrl";
			reg = <0x01c20800 0x400>;
			interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
				     <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&ccu CLK_BUS_PIO>, <&osc24M>, <&osc32k>;
			clock-names = "apb", "hosc", "losc";
			gpio-controller;
			#gpio-cells = <3>;
			interrupt-controller;
			#interrupt-cells = <3>;

           emac_rgmii_pins: emac0@0 {
                   allwinner,pins = "PD0", "PD1", "PD2", "PD3",
                                   "PD4", "PD5", "PD7",
                                   "PD8", "PD9", "PD10",
                                   "PD12", "PD13", "PD15",
                                   "PD16", "PD17";
                   allwinner,function = "emac";
                   allwinner,drive = <SUN4I_PINCTRL_40_MA>;
                   allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
           };

			uart0_pins_a: uart0@0 {
				pins = "PB8", "PB9";
				function = "uart0";
				bias-pull-up;
			};

			uart2_pins_a: uart2@0 {
				pins = "PB0", "PB1";
				function = "uart2";
				bias-pull-up;
			};

			mmc0_pins_a: mmc0@0 {
				pins = "PF0", "PF1", "PF2", "PF3",
				       "PF4", "PF5";
				function = "mmc0";
				drive-strength = <30>;
				bias-pull-up;
			};

			spi0_pins: spi0 {
				pins = "PC0", "PC1", "PC2", "PC3";
				function = "spi0";
			};
		};

		timer@01c20c00 {
			compatible = "allwinner,sun4i-a10-timer";
			reg = <0x01c20c00 0xa0>;
			interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
				     <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&osc24M>;
		};

		wdt0: watchdog@01c20ca0 {
			compatible = "allwinner,sun6i-a31-wdt";
			reg = <0x01c20ca0 0x20>;
			interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
		};

		uart0: serial@01c28000 {
			compatible = "snps,dw-apb-uart";
			reg = <0x01c28000 0x400>;
			interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
			reg-shift = <2>;
			reg-io-width = <4>;
			clocks = <&ccu CLK_BUS_UART0>;
			resets = <&ccu RST_BUS_UART0>;
			status = "disabled";
		};

		uart1: serial@01c28400 {
			compatible = "snps,dw-apb-uart";
			reg = <0x01c28400 0x400>;
			interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
			reg-shift = <2>;
			reg-io-width = <4>;
			clocks = <&ccu CLK_BUS_UART1>;
			resets = <&ccu RST_BUS_UART1>;
			status = "disabled";
		};

		uart2: serial@01c28800 {
			compatible = "snps,dw-apb-uart";
			reg = <0x01c28800 0x400>;
			interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
			reg-shift = <2>;
			reg-io-width = <4>;
			clocks = <&ccu CLK_BUS_UART2>;
			resets = <&ccu RST_BUS_UART2>;
			status = "disabled";
		};

		spi0: spi@1c68000 {
			compatible = "allwinner,sun8i-h3-spi";
			reg = <0x01c68000 0x1000>;
			interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&ccu CLK_BUS_SPI0>, <&ccu CLK_SPI0>;
			clock-names = "ahb", "mod";
			pinctrl-names = "default";
			pinctrl-0 = <&spi0_pins>;
			resets = <&ccu RST_BUS_SPI0>;
			status = "disabled";
			#address-cells = <1>;
			#size-cells = <0>;
		};

		emac: ethernet@1c30000 {
			compatible = "allwinner,sun8i-h3-emac";
			reg = <0x01c30000 0x104>, <0x01c00030 0x4>;
			reg-names = "emac", "syscon";
			interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
			resets = <&ccu RST_BUS_EMAC>, <&ccu RST_BUS_EPHY>;
			reset-names = "ahb", "ephy";
			clocks = <&ccu CLK_BUS_EMAC>, <&ccu CLK_BUS_EPHY>;
			clock-names = "ahb", "ephy";
			#address-cells = <1>;
			#size-cells = <0>;
			status = "disabled";
		};

		gic: interrupt-controller@01c81000 {
			compatible = "arm,cortex-a7-gic", "arm,cortex-a15-gic";
			reg = <0x01c81000 0x1000>,
			      <0x01c82000 0x1000>,
			      <0x01c84000 0x2000>,
			      <0x01c86000 0x2000>;
			interrupt-controller;
			#interrupt-cells = <3>;
			interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
		};
	};
};

但是发现串口2并没有数据输出.

离线

#3 2018-07-20 18:21:12

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,190

Re: 请问 主线u-boot 如何修改默认的串口 ?

修改 arch/arm/dts/sun8i-v3s.dtsi:

uart0_pins_a: uart0@0 {
                pins = "PB8", "PB9";
                function = "uart0";
                bias-pull-up;
            };

            uart2_pins_a: uart2@0 {
                pins = "PB0", "PB1";
                function = "uart2";
                bias-pull-up;
            };

修改 include/configs/sunxi-common.h

#define CONFIG_CONS_INDEX              1       /* UART0 */

改为:

#define CONFIG_CONS_INDEX              3       /* UART2 */

按上面我的试一试.

离线

#4 2018-07-20 22:42:15

awfans
会员
注册时间: 2018-04-03
累计积分: 264

Re: 请问 主线u-boot 如何修改默认的串口 ?

根据晕哥提示的修改, 接上串口 UART2 有显示,感觉只是spl 起来了,u-boot并没有启动:

U-Boot SPL 2017.01-rc2-00073-gdd6e874-dirty (Jul 20 2018 - 22:31:29)
DRAM: 64 MiB
Trying to boot from sunxi SPI

离线

#5 2018-07-21 10:08:03

awfans
会员
注册时间: 2018-04-03
累计积分: 264

Re: 请问 主线u-boot 如何修改默认的串口 ?

QQ20180721144346.png

diff --git a/arch/arm/dts/sun8i-v3s-licheepi-zero.dts b/arch/arm/dts/sun8i-v3s-licheepi-zero.dts
index 3aec3eb..14376f1 100644
--- a/arch/arm/dts/sun8i-v3s-licheepi-zero.dts
+++ b/arch/arm/dts/sun8i-v3s-licheepi-zero.dts
@@ -50,11 +50,12 @@

        aliases {
                serial0 = &uart0;
+               serial2 = &uart2;
                spi0 = &spi0;
        };

        chosen {
-               stdout-path = "serial0:115200n8";
+               stdout-path = "serial2:115200n8";
        };
};

@@ -77,6 +78,12 @@
        status = "okay";
};

+&uart2 {
+        pinctrl-0 = <&uart2_pins_a>;
+        pinctrl-names = "default";
+        status = "okay";
+};
+
&usb_otg {
        dr_mode = "otg";
        status = "okay";
diff --git a/arch/arm/dts/sun8i-v3s.dtsi b/arch/arm/dts/sun8i-v3s.dtsi
index 8ab3021..f3ebbc6 100644
--- a/arch/arm/dts/sun8i-v3s.dtsi
+++ b/arch/arm/dts/sun8i-v3s.dtsi
@@ -214,6 +214,12 @@
                                bias-pull-up;
                        };

+
+            uart2_pins_a: uart2@0 {
+                pins = "PB0", "PB1";
+                function = "uart2";
+                bias-pull-up;
+            };
                        mmc0_pins_a: mmc0@0 {
                                pins = "PF0", "PF1", "PF2", "PF3",
                                       "PF4", "PF5";
diff --git a/include/configs/sun8i.h b/include/configs/sun8i.h
index 6ac42ac..d5b545f 100644
--- a/include/configs/sun8i.h
+++ b/include/configs/sun8i.h
@@ -27,6 +27,14 @@
        #define CONFIG_SUNXI_USB_PHYS   2
#endif

+
+#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"
+
/*
  * Include common sunxi configuration where most the settings are
  */
diff --git a/include/configs/sunxi-common.h b/include/configs/sunxi-common.h
index fcecd0b..2b0d9ca 100644
--- a/include/configs/sunxi-common.h
+++ b/include/configs/sunxi-common.h
@@ -274,7 +274,7 @@ extern int soft_i2c_gpio_scl;
#endif

#ifndef CONFIG_CONS_INDEX
-#define CONFIG_CONS_INDEX              1       /* UART0 */
+#define CONFIG_CONS_INDEX              3       /* UART0 */
#endif

#ifdef CONFIG_REQUIRE_SERIAL_CONSOLE

U-Boot 2017.01-rc2-00073-gdd6e874-dirty (Jul 21 2018 - 09:56:51 +0800) Allwinner Technology

CPU:   Allwinner V3s (SUN8I 1681)
Model: Lichee Pi Zero
DRAM:  64 MiB
MMC:   SUNXI SD/MMC: 0
SF: Detected mx25l12805 with page size 256 Bytes, erase size 64 KiB, total 16 MiB
*** Warning - bad CRC, using default environment

Setting up a 800x480 lcd console (overscan 0x0)
dotclock: 33000kHz = 33000kHz: (1 * 3MHz * 66) / 6
In:    serial@01c28800
Out:   serial@01c28800
Err:   serial@01c28800
Net:   No ethernet found.
starting USB...
No controllers found
Hit any key to stop autoboot:  2  1  0
SF: Detected mx25l12805 with page size 256 Bytes, erase size 64 KiB, total 16 MiB
device 0 offset 0x100000, size 0x10000
SF: 65536 bytes @ 0x100000 Read: OK
device 0 offset 0x110000, size 0x600000
SF: 6291456 bytes @ 0x110000 Read: OK
=>

终于启动了.

最近编辑记录 awfans (2018-07-21 10:15:02)

离线

#6 2018-11-09 14:47:26

无情一刀
会员
注册时间: 2018-09-04
累计积分: 685

Re: 请问 主线u-boot 如何修改默认的串口 ?

awfans 说:

根据晕哥提示的修改, 接上串口 UART2 有显示,感觉只是spl 起来了,u-boot并没有启动:

U-Boot SPL 2017.01-rc2-00073-gdd6e874-dirty (Jul 20 2018 - 22:31:29)
DRAM: 64 MiB
Trying to boot from sunxi SPI


我也是改为uart2  打印出来是和你的问你一样的 请问你是怎么解决的哦哦

离线

#7 2018-11-09 14:58:06

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,190

Re: 请问 主线u-boot 如何修改默认的串口 ?

无情一刀 说:
awfans 说:

根据晕哥提示的修改, 接上串口 UART2 有显示,感觉只是spl 起来了,u-boot并没有启动:

U-Boot SPL 2017.01-rc2-00073-gdd6e874-dirty (Jul 20 2018 - 22:31:29)
DRAM: 64 MiB
Trying to boot from sunxi SPI


我也是改为uart2  打印出来是和你的问你一样的 请问你是怎么解决的哦哦


看5楼图片

离线

#8 2018-11-09 15:27:52

无情一刀
会员
注册时间: 2018-09-04
累计积分: 685

Re: 请问 主线u-boot 如何修改默认的串口 ?

我检查了两遍了 还是一样的结果
sun8i.png
dts3.png
dts1.png
common.png

离线

#9 2018-11-09 15:34:22

无情一刀
会员
注册时间: 2018-09-04
累计积分: 685

Re: 请问 主线u-boot 如何修改默认的串口 ?

    uart0_pins_a: uart0@0 {
                pins = "PB8", "PB9";
                function = "uart0";
                bias-pull-up;
            };

            uart2_pins_a: uart2@0 {
                pins = "PB0", "PB1";
                function = "uart2";
                bias-pull-up;
            };
这个也都是写了

离线

#10 2018-11-09 15:42:32

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,190

Re: 请问 主线u-boot 如何修改默认的串口 ?

2018-11-09_154109.png

这是我以前改的, 你再对比看看.

离线

#11 2018-11-09 16:37:43

无情一刀
会员
注册时间: 2018-09-04
累计积分: 685

Re: 请问 主线u-boot 如何修改默认的串口 ?

我对比了下 确实是一样的了 除下面
#define CONFIG_BOOTCOMMAND   "sf probe 0; "                           \
                             "sf read 0x41800000 0x100000 0x10000; "  \
                             "sf read 0x41000000 0x110000 0x400000; " \
                             "bootz 0x41000000 - 0x41800000"

#define CONFIG_BOOTARGS      "console=ttyS2,115200 earlyprintk panic=5 rootwait " \
                             "mtdparts=spi32766.0:1M(uboot)ro,64k(dtb)ro,4M(kernel)ro,-(rootfs) root=31:03 rw rootfstype=jffs2"

我这里就是将ttyS0改为ttyS2 因为以前串口0的时候是没有问题的  所以就是改为ttyS2
其他的都是一样的了

离线

#12 2018-11-09 16:43:14

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,190

Re: 请问 主线u-boot 如何修改默认的串口 ?

无情一刀 说:

我对比了下 确实是一样的了 除下面
#define CONFIG_BOOTCOMMAND   "sf probe 0; "                           \
                             "sf read 0x41800000 0x100000 0x10000; "  \
                             "sf read 0x41000000 0x110000 0x400000; " \
                             "bootz 0x41000000 - 0x41800000"

#define CONFIG_BOOTARGS      "console=ttyS2,115200 earlyprintk panic=5 rootwait " \
                             "mtdparts=spi32766.0:1M(uboot)ro,64k(dtb)ro,4M(kernel)ro,-(rootfs) root=31:03 rw rootfstype=jffs2"

我这里就是将ttyS0改为ttyS2 因为以前串口0的时候是没有问题的  所以就是改为ttyS2
其他的都是一样的了

还没运行到此处, 看log才跑起 spl(uboot0), 还没有跑u-boot主程序呢.

你现在硬件 PB0, PB1 接对了?烧写有没有问题?

离线

#13 2018-11-09 16:59:15

无情一刀
会员
注册时间: 2018-09-04
累计积分: 685

Re: 请问 主线u-boot 如何修改默认的串口 ?

晕哥 说:
无情一刀 说:

我对比了下 确实是一样的了 除下面
#define CONFIG_BOOTCOMMAND   "sf probe 0; "                           \
                             "sf read 0x41800000 0x100000 0x10000; "  \
                             "sf read 0x41000000 0x110000 0x400000; " \
                             "bootz 0x41000000 - 0x41800000"

#define CONFIG_BOOTARGS      "console=ttyS2,115200 earlyprintk panic=5 rootwait " \
                             "mtdparts=spi32766.0:1M(uboot)ro,64k(dtb)ro,4M(kernel)ro,-(rootfs) root=31:03 rw rootfstype=jffs2"

我这里就是将ttyS0改为ttyS2 因为以前串口0的时候是没有问题的  所以就是改为ttyS2
其他的都是一样的了

还没运行到此处, 看log才跑起 spl(uboot0), 还没有跑u-boot主程序呢.

你现在硬件 PB0, PB1 接对了?烧写有没有问题?

我以前没有改为串口2的时候  是可以看到企鹅的 可以跑起来   ,烧写还是按着以前串口0的烧写命令一样的  硬件我也看了原理图 没有问题

最近编辑记录 无情一刀 (2018-11-09 17:01:31)

离线

#14 2018-11-09 17:03:49

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,190

Re: 请问 主线u-boot 如何修改默认的串口 ?

看不出来是什么问题了,你再调试一下, 或者看看有没有路过的大神.

离线

#15 2018-11-09 17:07:19

无情一刀
会员
注册时间: 2018-09-04
累计积分: 685

Re: 请问 主线u-boot 如何修改默认的串口 ?

晕哥 说:

看不出来是什么问题了,你再调试一下, 或者看看有没有路过的大神.

因为这又是一块硬件  在没有改为串口2之前 这硬件是可以跑起来

离线

#16 2018-11-09 17:12:06

basicdev
会员
注册时间: 2017-10-02
累计积分: 159

Re: 请问 主线u-boot 如何修改默认的串口 ?

无情一刀 说:
晕哥 说:

看不出来是什么问题了,你再调试一下, 或者看看有没有路过的大神.

因为这又是一块硬件  在没有改为串口2之前 这硬件是可以跑起来

这么看来和硬件关系不大吧

离线

#17 2018-11-09 17:27:12

无情一刀
会员
注册时间: 2018-09-04
累计积分: 685

Re: 请问 主线u-boot 如何修改默认的串口 ?

123111.png
我现在好像是改错 因为这些文件在uboot和内核里面都有

离线

#18 2018-11-09 17:44:47

lilo
会员
注册时间: 2017-10-15
累计积分: 215

Re: 请问 主线u-boot 如何修改默认的串口 ?

无情一刀 说:

https://whycan.cn/files/members/1116/123111.png
我现在好像是改错 因为这些文件在uboot和内核里面都有

这也行...
u-boot和kernel完全是独立的,没有几毛钱关系, 引导kernel启动之后,u-boot就不存在了,
可以说二者水火不容.

离线

#19 2018-11-09 17:56:47

无情一刀
会员
注册时间: 2018-09-04
累计积分: 685

Re: 请问 主线u-boot 如何修改默认的串口 ?

lilo 说:
无情一刀 说:

https://whycan.cn/files/members/1116/123111.png
我现在好像是改错 因为这些文件在uboot和内核里面都有

这也行...
u-boot和kernel完全是独立的,没有几毛钱关系, 引导kernel启动之后,u-boot就不存在了,
可以说二者水火不容.

33333333.png
现在就是uboot起来了 好像就是内核还是串口0
现在就是应用程序是起来了

离线

#20 2018-11-09 19:03:14

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,190

Re: 请问 主线u-boot 如何修改默认的串口 ?

无情一刀 说:
lilo 说:
无情一刀 说:

https://whycan.cn/files/members/1116/123111.png
我现在好像是改错 因为这些文件在uboot和内核里面都有

这也行...
u-boot和kernel完全是独立的,没有几毛钱关系, 引导kernel启动之后,u-boot就不存在了,
可以说二者水火不容.

https://whycan.cn/files/members/1116/33333333.png
现在就是uboot起来了 好像就是内核还是串口0
现在就是应用程序是起来了

u-boot的bootargs参数 ttyS0 改为 ttyS2,
同时要在设备树开启 uart2.

离线

#21 2018-11-09 19:14:08

无情一刀
会员
注册时间: 2018-09-04
累计积分: 685

Re: 请问 主线u-boot 如何修改默认的串口 ?

晕哥 说:
无情一刀 说:
lilo 说:

这也行...
u-boot和kernel完全是独立的,没有几毛钱关系, 引导kernel启动之后,u-boot就不存在了,
可以说二者水火不容.

https://whycan.cn/files/members/1116/33333333.png
现在就是uboot起来了 好像就是内核还是串口0
现在就是应用程序是起来了

u-boot的bootargs参数 ttyS0 改为 ttyS2,
同时要在设备树开启 uart2.


现在就是uboot和内核都可以有打印了  但是我的代码里面里面使用printf打印 没有出来  所以还要去查找配置文件系统的  打印输出 ,

离线

#22 2018-11-09 19:33:54

无情一刀
会员
注册时间: 2018-09-04
累计积分: 685

Re: 请问 主线u-boot 如何修改默认的串口 ?

设置文件系统串口主要是在下面的截图在根文本系统/etc/inittab/
22222222.png

最近编辑记录 无情一刀 (2018-11-09 19:34:54)

离线

#23 2018-11-09 21:03:44

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,190

Re: 请问 主线u-boot 如何修改默认的串口 ?

无情一刀 说:

设置文件系统串口主要是在下面的截图在根文本系统/etc/inittab/
https://whycan.cn/files/members/1116/22222222.png

能进入命令行吗?能在命令行输入命令行吗?输入 ls cat 这些命令行有反应吗?

离线

#24 2018-11-10 08:53:46

无情一刀
会员
注册时间: 2018-09-04
累计积分: 685

Re: 请问 主线u-boot 如何修改默认的串口 ?

晕哥 说:
无情一刀 说:

设置文件系统串口主要是在下面的截图在根文本系统/etc/inittab/
https://whycan.cn/files/members/1116/22222222.png

能进入命令行吗?能在命令行输入命令行吗?输入 ls cat 这些命令行有反应吗?


有反应的  就是设置下上面截图的地方 在文件系统中

离线

#25 2018-11-10 09:52:51

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,190

Re: 请问 主线u-boot 如何修改默认的串口 ?

无情一刀 说:
晕哥 说:
无情一刀 说:

设置文件系统串口主要是在下面的截图在根文本系统/etc/inittab/
https://whycan.cn/files/members/1116/22222222.png

能进入命令行吗?能在命令行输入命令行吗?输入 ls cat 这些命令行有反应吗?


有反应的  就是设置下上面截图的地方 在文件系统中

那问题解决了?

离线

#26 2018-11-10 22:27:26

john78
会员
注册时间: 2018-07-19
累计积分: 190

Re: 请问 主线u-boot 如何修改默认的串口 ?

离线

#27 2019-01-15 14:03:56

DavidV3s
会员
注册时间: 2019-01-15
累计积分: 36

Re: 请问 主线u-boot 如何修改默认的串口 ?

[13:56:14.987]ÊÕ¡û¡ô\0
[13:56:15.425]ÊÕ¡û¡ô¡U\0½¼À\0SPL 2017.01-rc2 (Jan 14 2019 - 21:52:58)
DRAM:\0\0MiB
Trying to boot from MMC1
[13:56:15.630]ÊÕ¡û¡ô¡\0U-Boot 2017.01-rc2 (Jan 14 2019 - 21:52:58 -0800) Allwinner Technologù

CPUz   Aüüÿéþþåò ^w÷ (WU^xI q~xq)
]ÿäåüz \éçèåå Pé zåòÿ
DRA]z  lp\0À\0\0W\0\0  WU^xI WD?]]Gz p
\0\0Detected w25q128bv with page size 256 Bùôå÷< åòá÷å ÷éúå t OéB< ôÿôáü q~ ]éB
\0%%º…À¸€¸œ\0- bad CRC, using default environment

y_Ïã\0õð á xppøtp`\0ØÆÀ\0ÆÞÜæÞØÀ\0\0ÞìÀàæÆÀÜ\0`x0)

[13:56:15.740]ÊÕ¡û¡ô`Œ°¼ŒŒà 33000kHz = 33000kHz: (1 * 3MHú * ~~) ? ~

[13:56:15.786]ÊÕ¡û¡ô\0\0   ÷åòéáü@pqærxp``\0ààp\0\0\0æÀàÀÀØ\0``Æ`p800
Err:   serial@01c28800


U-Boot 2017.01-rc2 (Jan 14 2019 - 21:52:58 -0800) Allwinner Technology

CPUz   Aüüÿéþþåò ^w÷ (WU^xI q~xq)
]ÿäåüz \éçèåå Pé zåòÿ
DRA]z  ~d À\0\0p\0\0\0\00\0\0\0C: 0
SF: Detected w25q128bv with page size 256 Bytes, erase size 4 KiB, total 16 MiB
*** Warning - bad CRC, õ÷éþï äåîáõüô åþþéòÿþýåþô

Wåôôéþï õð á xppøtxp üçä çÿþ÷ÿüå (þìÀâæÆÀÜ\0`ð`\0\0ÀÞàÆØÞÆÆp\0f3000kHz =
[13:56:15.853]ÊÕ¡û¡ô 33000kHz: (1 * 3MHz * 66) / 6
In:    serial@01c28800
Out:   serial@01c28800
Err:   serial@01c2xx0p
Y—\0  No ethernet found.
starting USB>>>
^ÿ çÿþôòÿüüåò÷ îÿõþä
\00\0¸à\0ÆÀð\0ào stop autoboot:  2  0
=> ÀÀB  à€€`\0B <INTERRUPT~
}~ àB<pàüÀ€€À€Àظ€À€€€œ€˜€àðÀ€`\0ÀÞ`p€€À€Àظ€À€€€œ€˜€àðÀ\0€`\0ÀÞ`p€€À€Àظ€À€€€œ€˜€àðÀ<R\0UIIUAQù
=> ã8¼`\0€€Àظ€À€€€œ€˜€àðÀ<àÀÀð0¼`<R\0UIIUAQù
=> 8vÜ€À€€€œ€˜€àðÀ<ÀÀà\0<àÀÀðpƒ\0À€€€œ€˜€àðÀ\0ÀÀÀ<R\0UIIUAQù`
}~ |ððÀ€À\0€€€œ€˜€àðÀ\0ÀÀÀ<àÀÀðÀ€ÀÀ€À€€€œ€˜€àðÀ<R\0UIIUAQù
=> î8x8øÀ€ÀÀ€À€€€œ€˜€àðÀ<àÀÀðp€xÀÀ€ÀÀ€À€€€œ€˜€àðÀ<ÀÀ\0€xÀÀÀÀÀ€€€œ€˜€àðÀ<ÀÀ<R\0UIIUAQù`

离线

#28 2019-01-15 14:05:37

DavidV3s
会员
注册时间: 2019-01-15
累计积分: 36

Re: 请问 主线u-boot 如何修改默认的串口 ?

这个乱码是因为什么

离线

#29 2019-01-15 14:09:58

山无棱
会员
注册时间: 2017-10-23
累计积分: 116

Re: 请问 主线u-boot 如何修改默认的串口 ?

DavidV3s 说:

这个乱码是因为什么

是USB转TTL线吗?要么地线没有插好, 要么用了劣质的国产USB转TTL芯片,

当也有可能是板子的问题。

建议用 CP21XX线, 性价比很高, 基本没有发现仿冒品。

离线

#30 2019-01-15 14:13:15

DavidV3s
会员
注册时间: 2019-01-15
累计积分: 36

Re: 请问 主线u-boot 如何修改默认的串口 ?

这个串口用在别的产品上,打印字符输出都正常

离线

#31 2019-01-15 14:14:20

DavidV3s
会员
注册时间: 2019-01-15
累计积分: 36

Re: 请问 主线u-boot 如何修改默认的串口 ?

板子用flash加载也正常,我这个是烧写到TF卡上,TF卡我也换了几个了,都是一样

离线

#32 2019-01-15 14:30:40

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,190

Re: 请问 主线u-boot 如何修改默认的串口 ?

DavidV3s 说:

板子用flash加载也正常,我这个是烧写到TF卡上,TF卡我也换了几个了,都是一样

用 flash 启动串口正常,但是用 TF 串口就乱码?

离线

#33 2019-01-15 14:33:46

DavidV3s
会员
注册时间: 2019-01-15
累计积分: 36

Re: 请问 主线u-boot 如何修改默认的串口 ?

之前用flash启动过,后来flash拆坏掉了,就做成TF卡启动的了,现在启动就是乱码

离线

#34 2019-01-15 14:35:04

DavidV3s
会员
注册时间: 2019-01-15
累计积分: 36

Re: 请问 主线u-boot 如何修改默认的串口 ?

晕哥,如果我单烧写uboot,不放内核和文件系统,串口是不是也能打印输出

离线

#35 2019-01-15 14:46:46

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,190

Re: 请问 主线u-boot 如何修改默认的串口 ?

DavidV3s 说:

晕哥,如果我单烧写uboot,不放内核和文件系统,串口是不是也能打印输出

是的, 烧u-boot串口就可以输出了。

离线

#36 2019-01-18 21:48:46

DavidV3s
会员
注册时间: 2019-01-15
累计积分: 36

Re: 请问 主线u-boot 如何修改默认的串口 ?

U-Boot SPL 2017.01-rc2-g59058e5-dirty (Jan 18 2019 - 05:23:33)
DRAM: 64 MiB
Trying to boot from MMC1

U-Boot 2017.01-rc2-g59058e5-dirty (Jan 18 2019 - 05:23:33 -0800) Allwinner Technology

CPU:   Allwinner V3s (SUN8I 1681)
Model: Lichee Pi Zero
DRAM:  64 MiB
MMC:   SUNXI SD/MMC: 0
SF: Detected w25q128bv with page size 256 Bytes, erase size 4 KiB, total 16 MiB
*** Warning - bad CRC, using default environment

Setting up a 800x480 lcd console (overscan 0x0)
dotclock: 33000kHz = 33000kHz: (1 * 3MHz * 66) / 6
In:    serial@01c28800
Out:   serial@01c28800
Err:   serial@01c28800


U-Boot 2017.01-rc2-g59058e5-dirty (Jan 18 2019 - 05:23:33 -0800) Allwinner Technology

CPU:   Allwinner V3s (SUN8I 1681)
Model: Lichee Pi Zero
DRAM:  64 MiB
MMC:   SUNXI SD/MMC: 0
SF: Detected w25q128bv with page size 256 Bytes, erase size 4 KiB, total 16 MiB
*** Warning - bad CRC, using default environment

Setting up a 800x480 lcd console (overscan 0x0)
dotclock: 33000kHz = 33000kHz: (1 * 3MHz * 66) / 6
In:    serial@01c28800
Out:   serial@01c28800
Err:   serial@01c28800
Net:   No ethernet found.
starting USB...
No controllers found
Hit any key to stop autoboot:  2  0
=> MC:   SUNXI SD/MMC: 0
Unknown command 'MC:' - try 'help'
=>
Unknown command 'MC:' - try 'help'
=> SF: Detected w25q128bv with page size 252> MC:   SUNXI SD/MMC: >> SF: Detected w25q128bv with page size 252> MC:   SUNXI SD/MMC: >> SF: Detected w25q128bv with page size 252> MC:   SUNXI SD/MMC: >> SF: Detected w25q128bv with page size 252> MC:   SUNXI SD/MMC: >> SF: Detected w25q128bv with page size 252> MC:   SUNXI SD/MMC: >> SF: Detected w25q128bv with page size 252> MC:   SUNXI SD/MMC: >> SF: Detected w25q128bv with page size 252> MC:   SUNXI SD/MMC: >> SF: Detected w25q128bv with page size 252> MC:   SUNXI SD/MMC: >> SF: Detected w25q128bv with page size 252> MC:   SUNXI SD/MMC: >> SF: Detected w25q128bv with page size 252> MC:   SUNXI SD/MMC: >> SF: Detected w25q128bv with page size 252> MC:   SUNXI SD/MMC: >> SF: Detected w25q128bv with page size 252> MC:   SUNXI SD/MMC: >> SF: Detected w25q128bv with page size 252> MC:   SUNXI SD/MMC: >> SF: Detected w25q128bv with page size 252> MC:   SUNXI SD/MMC: >> SF: Detected w25q128bv with page size 252> MC:   SUNXI SD/MMC: >> SF: Detected w25q128bv with page s

离线

#37 2019-01-18 21:50:06

DavidV3s
会员
注册时间: 2019-01-15
累计积分: 36

Re: 请问 主线u-boot 如何修改默认的串口 ?

@晕哥,波特率改成9600,显示没有乱码了,但是有报错。

离线

#38 2019-01-18 22:04:55

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,190

Re: 请问 主线u-boot 如何修改默认的串口 ?

DavidV3s 说:

@晕哥,波特率改成9600,显示没有乱码了,但是有报错。

可以输入吗?

离线

#39 2019-01-18 22:27:38

DavidV3s
会员
注册时间: 2019-01-15
累计积分: 36

Re: 请问 主线u-boot 如何修改默认的串口 ?

FluxBB bbcode 测试

离线

#40 2019-01-18 22:28:42

DavidV3s
会员
注册时间: 2019-01-15
累计积分: 36

Re: 请问 主线u-boot 如何修改默认的串口 ?

不可以输入,一直循环打印这个。。。。。。。

离线

#41 2019-01-18 22:29:55

DavidV3s
会员
注册时间: 2019-01-15
累计积分: 36

Re: 请问 主线u-boot 如何修改默认的串口 ?

@晕哥,这个卡在什么地方了?

离线

#42 2019-01-18 22:35:13

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,190

Re: 请问 主线u-boot 如何修改默认的串口 ?

只能换块板,或者换条usb线试一试了,usb线可能性大很多,可以逻辑分析仪先抓数据,如果逻辑分析仪抓到的数据没有问题,毫不犹豫换usb线

离线

#43 2019-01-18 22:48:14

DavidV3s
会员
注册时间: 2019-01-15
累计积分: 36

Re: 请问 主线u-boot 如何修改默认的串口 ?

U-Boot 2017.01-rc2-g59058e5-dirty (Jan 18 2019 - 05:23:33 -0800) Allwinner Technology

CPU:   Allwinner V3s (SUN8I 1681)
Model: Lichee Pi Zero
DRAM:  64 MiB
MMC:   SUNXI SD/MMC: 0
SF: Detected w25q128bv with page size 256 Bytes, erase size 4 KiB, total 16 MiB
*** Warning - bad CRC, using default environment

Setting up a 800x480 lcd console (overscan 0x0)
dotclock: 33000kHz = 33000kHz: (1 * 3MHz * 66) / 6
In:    serial@01c28800
Out:   serial@01c28800
Err:   serial@01c28800
Net:   No ethernet found.
starting USB...
No controllers found
Hit any key to stop autoboot:  2  1  0
SF: Detected w25q128bv with page size 256 Bytes, erase size 4 KiB, total 16 MiB
device 0 offset 0xf0000, size 0x10000
SF: 65536 bytes @ 0xf0000 Read: OK
device 0 offset 0x300000, size 0x800000
SF: 8388608 bytes @ 0x300000 Read: OK
=>
[22:44:34.025]发→◇ls

[22:44:41.809]发→◇l

离线

#44 2019-01-19 16:28:53

DavidV3s
会员
注册时间: 2019-01-15
累计积分: 36

Re: 请问 主线u-boot 如何修改默认的串口 ?

FluxBB bbcode 测试 ,我对比了下,我下载的https://whycan.cn/files/201712/15/V3s_TFCard.7z,和你截图的log输出的大小不一样,这个有影响吗

离线

#45 2019-01-19 16:37:39

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,190

Re: 请问 主线u-boot 如何修改默认的串口 ?

环境不同,编译出来的文件尺寸有差异也正常,你用上面的固件串口输入输出正常吗?

离线

#46 2019-01-19 16:39:12

DavidV3s
会员
注册时间: 2019-01-15
累计积分: 36

Re: 请问 主线u-boot 如何修改默认的串口 ?

uboot正常了,但是卡在Starting kernel ...这个地方不动了

离线

#47 2019-01-19 16:44:01

DavidV3s
会员
注册时间: 2019-01-15
累计积分: 36

Re: 请问 主线u-boot 如何修改默认的串口 ?

看了下论坛的其他文章,可能的问题是:
1.串口设置不对
2.内核不对
1.串口是这么设置的/*
* (C) Copyright 2014 Chen-Yu Tsai <wens@csie.org>
*
* Configuration settings for the Allwinner A23 (sun8i) CPU
*
* SPDX-License-Identifier:    GPL-2.0+
*/

#ifndef __CONFIG_H
#define __CONFIG_H

/*
* A23 specific configuration
*/

#ifdef CONFIG_USB_EHCI
#define CONFIG_USB_EHCI_SUNXI
#endif

#ifdef CONFIG_MACH_SUN8I_H3
    #define CONFIG_SUNXI_USB_PHYS    4
#elif defined CONFIG_MACH_SUN8I_A83T
    #define CONFIG_SUNXI_USB_PHYS    3
#elif defined CONFIG_MACH_SUN8I_V3S
    #define CONFIG_SUNXI_USB_PHYS    1
#else
    #define CONFIG_SUNXI_USB_PHYS    2
#endif

#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 mtdparts=spi32766.0:1M(uboot)ro,64k(dtb)ro,6M(kernel)ro,-(rootfs) root=/dev/mmcblk0p2 earlyprintk rw"

/*
* Include common sunxi configuration where most the settings are
*/
#include <configs/sunxi-common.h>

#endif /* __CONFIG_H */
应该没问题。
2。内核有问题,但是是从你那个连接下载的,看你log输出正常,也应该没问题。

离线

#48 2019-01-19 16:44:19

山无棱
会员
注册时间: 2017-10-23
累计积分: 116

Re: 请问 主线u-boot 如何修改默认的串口 ?

DavidV3s 说:

uboot正常了,但是卡在Starting kernel ...这个地方不动了

你是自己做的板子?还是荔枝派的板子?

离线

#49 2019-01-19 16:52:29

DavidV3s
会员
注册时间: 2019-01-15
累计积分: 36

Re: 请问 主线u-boot 如何修改默认的串口 ?

自己做的

离线

#50 2019-01-19 16:54:19

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,190

Re: 请问 主线u-boot 如何修改默认的串口 ?

DavidV3s 说:

自己做的

那你先去 u-boot  .config 里面把ddr和cpu频率都降下来再看,可能是你的板子跑不了那么高速度。

离线

#51 2019-01-19 16:58:39

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,190

Re: 请问 主线u-boot 如何修改默认的串口 ?

晕哥 说:
DavidV3s 说:

自己做的

那你先去 u-boot  .config 里面把ddr和cpu频率都降下来再看,可能是你的板子跑不了那么高速度。

https://whycan.cn/t_699.html

感觉你的问题和这个一毛一样

离线

#52 2019-01-19 17:40:06

DavidV3s
会员
注册时间: 2019-01-15
累计积分: 36

Re: 请问 主线u-boot 如何修改默认的串口 ?

找了半天,没找到:)

离线

#53 2019-01-19 18:28:05

DavidV3s
会员
注册时间: 2019-01-15
累计积分: 36

Re: 请问 主线u-boot 如何修改默认的串口 ?

晕哥,我俩的情况还不一样,我这个原因是串口的输入输出是自反馈电路,设计上的缺陷。我现在是切割开单独连接输入和输出,正常,能进入uboot,也能发送命令。从这个log日志看,跳转到内核后,打印就断掉了。

离线

#54 2019-01-19 18:50:23

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,190

Re: 请问 主线u-boot 如何修改默认的串口 ?

DavidV3s 说:

晕哥,我俩的情况还不一样,我这个原因是串口的输入输出是自反馈电路,设计上的缺陷。我现在是切割开单独连接输入和输出,正常,能进入uboot,也能发送命令。从这个log日志看,跳转到内核后,打印就断掉了。

你的是flash还是TF卡启动,感觉是 zImage不完整引起,导致解压失败

离线

#55 2019-01-19 20:19:12

DavidV3s
会员
注册时间: 2019-01-15
累计积分: 36

Re: 请问 主线u-boot 如何修改默认的串口 ?

TF卡,https://whycan.cn/files/201712/15/V3s_TFCard.7z,在这下载的,在下载Linux代码,等会编译下,拷进去试试。我也觉得是这个内核有问题,但是看你的LOG是正常的。

离线

#56 2019-01-19 20:56:56

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,190

Re: 请问 主线u-boot 如何修改默认的串口 ?

DavidV3s 说:

TF卡,https://whycan.cn/files/201712/15/V3s_TFCard.7z,在这下载的,在下载Linux代码,等会编译下,拷进去试试。我也觉得是这个内核有问题,但是看你的LOG是正常的。

你到 电脑上面挂载,然后用md5sum 看下zImage校验码,看是不是与我上面的一致,怀疑你的文件不完整

离线

#57 2019-01-19 21:22:06

DavidV3s
会员
注册时间: 2019-01-15
累计积分: 36

Re: 请问 主线u-boot 如何修改默认的串口 ?

1aa4f54699db1eb70650b8fd5cde5ab3  /media/ubuntu/D456-7CA0/zImage   ,我去,我是直接点击下载的啊,我用Ubuntu下载试试

离线

#58 2019-01-19 21:31:10

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,190

Re: 请问 主线u-boot 如何修改默认的串口 ?

DavidV3s 说:

1aa4f54699db1eb70650b8fd5cde5ab3  /media/ubuntu/D456-7CA0/zImage   ,我去,我是直接点击下载的啊,我用Ubuntu下载试试

再看下上面压缩包里面的md5值是多少

离线

#59 2019-01-19 21:34:50

DavidV3s
会员
注册时间: 2019-01-15
累计积分: 36

Re: 请问 主线u-boot 如何修改默认的串口 ?

ubuntu@ubuntu:~/Downloads$ md5sum V3s_TFCard.7z
7c9007deeeacfb0c1e3475b2baae25ad  V3s_TFCard.7z

离线

#60 2019-01-19 21:35:55

DavidV3s
会员
注册时间: 2019-01-15
累计积分: 36

Re: 请问 主线u-boot 如何修改默认的串口 ?

ubuntu@ubuntu:~/Downloads$ sha1sum V3s_TFCard.7z
43c635802438e26c8fe96ada66255b664d52cddd  V3s_TFCard.7z

离线

#61 2019-01-19 23:32:12

DavidV3s
会员
注册时间: 2019-01-15
累计积分: 36

Re: 请问 主线u-boot 如何修改默认的串口 ?

  DTC     arch/arm/boot/dts/sun8i-a23-evb.dtb
In file included from arch/arm/boot/dts/sun8i-a23.dtsi:45:0,
                 from arch/arm/boot/dts/sun8i-a23-evb.dts:46:
arch/arm/boot/dts/sun8i-a23-a33.dtsi:47:54: fatal error: dt-bindings/interrupt-controller/arm-gic.h: No such file or directory
 #include <dt-bindings/interrupt-controller/arm-gic.h>
                                                      ^
compilation terminated.
scripts/Makefile.lib:325: recipe for target 'arch/arm/boot/dts/sun8i-a23-evb.dtb' failed
make[1]: *** [arch/arm/boot/dts/sun8i-a23-evb.dtb] Error 1
arch/arm/Makefile:346: recipe for target 'dtbs' failed
make: *** [dtbs] Error 2
make: *** Waiting for unfinished jobs....
  AR      drivers/mtd/built-in.o
  AR      drivers/built-in.o

这个文件是怎么生成的,看源代码里面是没有。

离线

#62 2019-01-21 13:41:36

DavidV3s
会员
注册时间: 2019-01-15
累计积分: 36

Re: 请问 主线u-boot 如何修改默认的串口 ?

U-Boot 2017.01-rc2 (Jan 20 2019 - 20:58:24 -0800) Allwinner Technology

CPU:   Allwinner V3s (SUN8I 1681)
Model: Lichee Pi Zero
DRAM:  64 MiB
MMC:   SUNXI SD/MMC: 0
SF: Detected w25q128bv with page size 256 Bytes, erase size 4 KiB, total 16 MiB
*** Warning - bad CRC, using default environment

Setting up a 800x480 lcd console (overscan 0x0)
dotclock: 33000kHz = 33000kHz: (1 * 3MHz * 66) / 6
In:    serial@01c28000
Out:   serial@01c28000
Err:   serial@01c28000
Net:   No ethernet found.
starting USB...
No controllers found
Hit any key to stop autoboot:  2 
[13:38:32.024]ÊÕ¡û¡ô 1 
[13:38:33.025]ÊÕ¡û¡ô 0 

[13:38:33.097]ÊÕ¡û¡ôreading zImage
3987592 bytes read in 206 ms (18.5 MiB/s)
reading sun8i-v3s-licheepi-zero-dock.dtb
11986 bytes read in 26 ms (450.2 KiB/s)
## Flattened Device Tree blob at 41800000
   Booting using the fdt blob at 0x41800000
   Loading Device Tree to 42dfa000, end 42dffed1 ... OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.13.16-licheepi-zero (ubuntu@ubuntu) (gcc version 7.3.0 (Ubuntu/Linaro 7.3.0-27ubuntu1~18.04)) #2 SMP Sun Jan 20 18:46:21 PST 2019
[    0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d
[    0.000000] CPU: div instructions available: patching division code
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] OF: fdt: Machine model: Lichee Pi Zero with Dock
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] percpu: Embedded 16 pages/cpu @c3de6000 s33868 r8192 d23476 u65536
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 15883
[    0.000000] Kernel command line: console=ttyS0,115200 panic=5 rootwait root=/dev/mmcblk0p2 earlyprintk rw  vt.global_cursor_default=0
[    0.000000] PID hash table entries: 256 (order: -2, 1024 bytes)
[    0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Memory: 53580K/64036K available (6144K kernel code, 217K rwdata, 1456K rodata, 1024K init, 264K bss, 10456K reserved, 0K cma-reserved, 0K highmem)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0xc4000000 - 0xff800000   ( 952 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xc3e89000   (  62 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0xc0008000 - 0xc0700000   (7136 kB)
[    0.000000]       .init : 0xc0900000 - 0xc0a00000   (1024 kB)
[    0.000000]       .data : 0xc0a00000 - 0xc0a367c0   ( 218 kB)
[    0.000000]        .bss : 0xc0a3da78 - 0xc0a7fc2c   ( 265 kB)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] Hierarchical RCU implementation.
[    0.000000] 	RCU event tracing is enabled.
[    0.000000] 	RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=1.

这是用串口0输出的log,看来改成串口2,内核里面没有改成功。

离线

#63 2019-01-21 13:45:07

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,190

Re: 请问 主线u-boot 如何修改默认的串口 ?

@DavidV3s 是没有然后了吗?  61楼那个问题怎么解决的?

离线

#64 2019-01-21 13:55:50

DavidV3s
会员
注册时间: 2019-01-15
累计积分: 36

Re: 请问 主线u-boot 如何修改默认的串口 ?

出现用户登录了,加载完整。61楼的问题,我重新git clone 了下,可能是下载不完成。

离线

#65 2019-01-21 13:57:37

DavidV3s
会员
注册时间: 2019-01-15
累计积分: 36

Re: 请问 主线u-boot 如何修改默认的串口 ?

晕哥,内核打印改成串口2,还有什么地方需要修改的吗?我现在,串口0和串口2都接上电脑了,串口2还是卡在Starting kernel ...,串口0也没有输出

离线

#66 2019-01-21 14:05:59

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,190

Re: 请问 主线u-boot 如何修改默认的串口 ?

DavidV3s 说:

晕哥,内核打印改成串口2,还有什么地方需要修改的吗?我现在,串口0和串口2都接上电脑了,串口2还是卡在Starting kernel ...,串口0也没有输出

你是如何修改成 串口2输出的? bootargs ?

离线

#67 2019-01-21 14:13:46

DavidV3s
会员
注册时间: 2019-01-15
累计积分: 36

Re: 请问 主线u-boot 如何修改默认的串口 ?

按照5楼的方法

离线

#68 2019-01-21 14:42:39

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,190

Re: 请问 主线u-boot 如何修改默认的串口 ?

DavidV3s 说:

按照5楼的方法

然而从 62 楼 你的 log:

[    0.000000] Kernel command line: console=ttyS0,115200 panic=5 rootwait root=/dev/mmcblk0p2 earlyprintk rw  vt.global_cursor_default=0


还是 串口0 /dev/ttyS0

离线

#69 2019-01-21 14:48:34

DavidV3s
会员
注册时间: 2019-01-15
累计积分: 36

Re: 请问 主线u-boot 如何修改默认的串口 ?

62楼,我是用串口0 的方法输出的,我板子上也是飞线到串口0的,然后我改成串口2,发现串口2还是卡在Starting kernel ...这个地方

离线

#70 2019-01-21 14:50:12

DavidV3s
会员
注册时间: 2019-01-15
累计积分: 36

Re: 请问 主线u-boot 如何修改默认的串口 ?

https://whycan.cn/t_728.html,然后我试了这个方法,也是卡在Starting kernel ...这个地方

离线

#71 2019-01-21 15:01:29

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,190

Re: 请问 主线u-boot 如何修改默认的串口 ?

DavidV3s 说:

https://whycan.cn/t_728.html,然后我试了这个方法,也是卡在Starting kernel ...这个地方


那只能怀疑你的zImage不完整了

改完之后, 显示解压失败了?

离线

#72 2019-01-21 15:06:27

DavidV3s
会员
注册时间: 2019-01-15
累计积分: 36

Re: 请问 主线u-boot 如何修改默认的串口 ?

但是我这个zImage,是同一个啊,我只是修改了Uboot的串口输出,原来是uart0输出,我改成UART2输出,UART0的就正常加载输出,UART2的就卡在Starting kernel ...这个地方,说明这个zImage是没有问题的,我如果直接写输出端口的地址是不是能直接输出?又要芯片手册,头大。

离线

#73 2019-01-21 15:33:05

DavidV3s
会员
注册时间: 2019-01-15
累计积分: 36

Re: 请问 主线u-boot 如何修改默认的串口 ?

修改 arch/arm/boot/compressed/misc.c:

static inline uint32_t read32(uint32_t addr)
{
    return( *((volatile uint32_t *)(addr)) );
}

static inline void write32(uint32_t addr, uint32_t value)
{
    *((volatile uint32_t *)(addr)) = value;
}

void sys_uart_putc(char c)
{
    [ins]unsigned int addr = 0x01c28800;[/ins]

    while((read32(addr + 0x7c) & (0x1 << 1)) == 0);
    write32(addr + 0x00, c);
}

static void putstr(const char *ptr)
{
    char c;

    while ((c = *ptr++) != '\0') {
        if (c == '\n')
            sys_uart_putc('\r');
        sys_uart_putc(c);
    }

    flush();
}
U-Boot 2017.01-rc2 (Jan 20 2019 - 19:52:07 -0800) Allwinner Technology

CPU:   Allwinner V3s (SUN8I 1681)
Model: Lichee Pi Zero
DRAM:  64 MiB
MMC:   SUNXI SD/MMC: 0
SF: Detected w25q128bv with page size 256 Bytes, erase size 4 KiB, total 16 MiB
*** Warning - bad CRC, using default environment

Setting up a 800x480 lcd console (overscan 0x0)
dotclock: 33000kHz = 33000kHz: (1 * 3MHz * 66) / 6
In:    serial@01c28800
Out:   serial@01c28800
Err:   serial@01c28800
Net:   No ethernet found.
starting USB...
No controllers found
Hit any key to stop autoboot:  2  1  0 
reading zImage
3987592 bytes read in 207 ms (18.4 MiB/s)
reading sun8i-v3s-licheepi-zero-dock.dtb
11986 bytes read in 26 ms (450.2 KiB/s)
## Flattened Device Tree blob at 41800000
   Booting using the fdt blob at 0x41800000
   Loading Device Tree to 42dfa000, end 42dffed1 ... OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.

更新下,直接写输出串口2 的地址没有问题,zImage解压正常

离线

#74 2019-01-21 15:41:22

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,190

Re: 请问 主线u-boot 如何修改默认的串口 ?

那现在正常了吗? 还是一样?

离线

#75 2019-01-21 15:42:12

DavidV3s
会员
注册时间: 2019-01-15
累计积分: 36

Re: 请问 主线u-boot 如何修改默认的串口 ?

还是一样,Uncompressing Linux... done, booting the kernel. 出现这个后,下面就没有输出了。

离线

#76 2019-01-21 15:53:26

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,190

Re: 请问 主线u-boot 如何修改默认的串口 ?

DavidV3s 说:

还是一样,Uncompressing Linux... done, booting the kernel. 出现这个后,下面就没有输出了。

你恢复到 ttyS0 控制台, 然后操作 /dev/ttyS2, 看能否输入输出,

如果可以,说明硬件接口和设备树都没有问题,
如果不行可以, 说明上面的都可能有问题。

离线

#77 2020-11-15 15:04:13

frog007
会员
注册时间: 2020-09-21
累计积分: 2

Re: 请问 主线u-boot 如何修改默认的串口 ?

谢谢分享

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB