天天看點

ROC-RK3308-CC開發執行個體總結--GPRS子產品調試

ROC-RK3308-CC這款闆子緻力于打造AIoT物聯網應用平台,今天樓主用手邊的gprs通訊子產品在這款闆子上做了個小功能,随手分享一波!

gprs子產品要用到序列槽通信,參考官網的開發文檔,闆子有兩組uart可用,其中一組被用去做調試序列槽,是以我要用到另外一組,是以需要我們去到kernel/arch/arm64/boot/dts/rockchip/rk3308.dtsi 這個檔案,将uart1的status改成"okay",如下所示:

uart1: [email protected] {
            compatible = "rockchip,rk3308-uart", "snps,dw-apb-uart";
            reg = <0x0 0xff0b0000 0x0 0x100>;
            interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
            clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
            clock-names = "baudclk", "apb_pclk";
            reg-shift = <2>;
            reg-io-width = <4>;
            dmas = <&dmac0 6>, <&dmac0 7>;
            dma-names = "tx", "rx";
            pinctrl-names = "default";
            pinctrl-0 = <&uart1_xfer &uart1_cts &uart1_rts>;
            status = "okay";
        };           

改好之後如果想測試一下這組序列槽能不能使用,可以先找根杜邦線把闆子上的u1tx和u1rx短接,然後通過終端指令讓他們自發自收,如果可以,那就證明這組序列槽可用了。具體操作如下:

# cat /dev/ttyS1 &
#
# echo test > /dev/ttyS1
# test           

做好這些之後,我寫了一份demo測試代碼,編譯完成後燒入到闆子裡面,連接配接好硬體,運作,發現闆子在運作pppd撥号上網的時候報錯

ROC-RK3308-CC開發執行個體總結--GPRS子產品調試

是以我們需要重新配置核心,把ppp_generic 這個功能子產品編譯到核心裡面。在sdk根目錄下,cd kernel/,然後執行指令make menuconfig,會進入如下核心配置圖形界面:

ROC-RK3308-CC開發執行個體總結--GPRS子產品調試

如圖把ppp相關選項選上,然後儲存,重新編譯核心之後,重新燒錄,再次運作demo

ROC-RK3308-CC開發執行個體總結--GPRS子產品調試

撥号成功,然後再試一試短信發送:

ROC-RK3308-CC開發執行個體總結--GPRS子產品調試
ROC-RK3308-CC開發執行個體總結--GPRS子產品調試

短信發送成功!

進入Firefly開發者社群​​​​​​​,可下載下傳GPRS_demo

———————————————

更多資訊請關注Firefly公衆微信号fireflytee:

ROC-RK3308-CC開發執行個體總結--GPRS子產品調試

———————————————

Firefly官網:http://www.t-firefly.com

Firefly開源社群:http://developer.t-firefly.com