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才起作用。另外,...