ROC-RK3308-CC這款板子致力於打造AIoT物聯網應用平台,今天樓主用手邊的gprs通訊模塊在這款板子上做了個小功能,隨手分享一波!
gprs模塊要用到串口通信,參考官網的開發文檔,板子有兩組uart可用,其中一組被用去做調試串口,所以我要用到另外一組,所以需要我們去到kernel/arch/arm64/boot/dts/rockchip/rk3308.dtsi 這個文件,將uart1的status改成"okay",如下所示:
uart1: serial@ff0b0000 {
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撥號上網的時候,報錯

所以我們需要重新配置內核,把ppp_generic 這個功能模塊編譯到內核里面。在sdk根目錄下,cd kernel/,然后執行命令make menuconfig,會進入如下內核配置圖形界面:

如圖把ppp相關選項選上,然后保存,重新編譯內核之后,重新燒錄,再次運行demo

撥號成功,然后再試一試短信發送:


短信發送成功!
進入Firefly開發者社區,可下載GPRS demo
