OpenWRT (RT5350) 使能兩個串列埠

2022-08-05 18:36:15 字數 1114 閱讀 3764

openwrt(rt5350) 預設使能乙個串列埠(uartlite) ,當做console口了,另外乙個串列埠(uartf)與gpio復用。

在查詢資料的過程中,發現在新的核心中使用到了裝置樹(device tree)的概念,使用dts檔案描述soc的所有資源。

1、~/openwrt/build_dir/target-mispel_24kec+dsp_musl-1.1.10/linux-ramips_rt305x/linux-3.10.49/arch/mips/ralink/rt305x.c

2、~/openwrt/build_dir/target-mispel_24kec+dsp_musl-1.1.10/linux-ramips_rt305x/linux-3.10.49/drivers/pinctrl/pinctrl-rt2880.c

3、~/openwrt/target/linux/ramips/dts/rt5350.dtsi

4、~/openwrt/target/linux/ramips/dts/mpra2.dts

兩個c檔案主要是針對硬體平台相關介面暫存器定義,與dts檔案密切相關,新增除錯資訊做了跟蹤,並不需要修改。

兩個dts檔案主要是對介面的配置,如系統啟動輸出串列埠設定,gpio口,spi,i2c介面設定等;

下面開始配置串列埠,使能兩個串列埠:(關鍵的修改在兩個dts檔案)

1、mpra2.dts中將state_default從以下內容:

gpio ;

修改成:

gpio ;

uartf ;

2、mpra2.dts中注釋掉該檔案最後gpio_export的所有內容。

3、rt5350.dtsi需要修改bootargs以使uartlite仍然作為console:

(開啟uartf之前,uartlite為ttys0作為console的,開啟uartf之後,uartf成為ttys0,uartlite變為ttys1)

chosen ;

4、rt5350.dtsi中釋掉uart@500中的status = 「disabled」;

// status = "disabled";

至此,兩個串列埠使能完畢!

GPIO時鐘使能和串列埠時鐘使能的關係

由於stm32有很多外設,為降低功耗,每個外設都對應著乙個時鐘。在晶元剛剛上電時,這些時鐘都是被關閉的。如果想要外設工作,必須把相應的時鐘開啟。即當gpio口復用usart進行通訊時,必須要先使能gpio的時鐘,然後再使能具體外設的時鐘 usart的時鐘 1.stm32微控制器的i o埠配置步驟 1...

門控時鐘和時鐘使能

在fpga設計中,我們經常會使用分頻的方法來得到乙個我們需要的時鐘頻率,而在很多開發板廠家配套的教程裡,他們常常會使用計數器分頻得到的高低電平時鐘來當做驅動時鐘,這種方法簡單易懂,但是,在工程設計中,這種方法是不被允許的。門控時鐘就是使用計數器和邏輯門翻轉來產生的時鐘,下面是典型的門控時鐘 生成i2...

位址使能鎖存訊號ALE

在平時,ale端以不變的頻率週期輸出正脈衝訊號,此頻率為振盪器頻率的1 6。因此它可用作對外部輸出的脈衝或用於定時目的。然而要注意的是 每當用作外部資料儲存器時,將跳過乙個ale脈衝。如想禁止ale的輸出可在sfr8eh位址上置0。此時,ale只有在執行movx,movc指令是ale才起作用。另外,...