Firefly开源社区

ROC-RK3308-CC开发实例总结--GPRS模块调试

262

积分

0

威望

0

贡献

技术达人

Rank: 2

积分
262
发表于 2018-10-27 17:55:44     
本帖最后由 YAo 于 2018-10-29 11:32 编辑

roc-rk3308-cc这款板子致力于打造AIoT物联网应用平台,今天楼主用手边的gprs通讯模块在这款板子上做了个小功能,随手分享一波!
gprs模块要用到串口通信,参考官网的开发文档,板子有两组uart可用,其中一组被用去做调试串口,所以我要用到另外一组,所以需要我们去到kernel/arch/arm64/boot/dts/rockchip/rk3308.dtsi 这个文件,将uart1的status改成"okay",如下所示:

  1.         uart1: serial@ff0b0000 {
  2.             compatible = "rockchip,rk3308-uart", "snps,dw-apb-uart";
  3.             reg = <0x0 0xff0b0000 0x0 0x100>;
  4.             interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
  5.             clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
  6.             clock-names = "baudclk", "apb_pclk";
  7.             reg-shift = <2>;
  8.             reg-io-width = <4>;
  9.             dmas = <&dmac0 6>, <&dmac0 7>;
  10.             dma-names = "tx", "rx";
  11.             pinctrl-names = "default";
  12.             pinctrl-0 = <&uart1_xfer &uart1_cts &uart1_rts>;
  13.             status = "okay";
  14.         };
复制代码

改好之后如果想测试一下这组串口能不能使用,可以先找根杜邦线把板子上的u1tx和u1rx短接,然后通过终端命令让他们自发自收,如果可以,那就证明这组串口可用了。具体操作如下:
  1. # cat /dev/ttyS1 &
  2. #
  3. # echo test > /dev/ttyS1
  4. # test
复制代码

做好这些之后,我写了一份demo测试代码,编译完成后烧入到板子里面,连接好硬件,运行,发现板子在运行pppd拨号上网的时候报错 1.png

所以我们需要重新配置内核,把ppp_generic 这个功能模块编译到内核里面。在sdk根目录下,cd kernel/,然后执行命令make menuconfig,会进入如下内核配置图形界面:
2.png

如图把ppp相关选项选上,然后保存,重新编译内核之后,重新烧录,再次运行demo
3.png


拨号成功,然后再试一试短信发送:
5.png gprs.jpg
短信发送成功!

GPRS_demo.rar

751.67 KB, 下载次数: 25, 下载积分: 灯泡 -1 , 经验 -1

参考示例代码

回复

使用道具 举报

11

积分

0

威望

0

贡献

技术小白

积分
11
发表于 2018-12-7 18:09:40     
收藏先
回复

使用道具 举报

10

积分

0

威望

0

贡献

技术小白

积分
10
发表于 2019-4-17 21:45:21     
thanks for sharing!
回复

使用道具 举报

3

积分

0

威望

0

贡献

吃瓜的群众

积分
3
发表于 2019-7-1 16:56:12     
非常不错
回复

使用道具 举报

*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表