NXP

sd卡热插拔、3g、4g模块支持开发

2019-07-12 12:39发布

一、USB扩展模块开发的一般步骤: 1、增加内核的支持(3g4g模块需在Option.c源文件中添加productID和vendorID号); 2、通过查看/proc/bus/usb/devices查看usb接口模块的识别情况; 3、查看/proc/partitions查看硬盘、flash、sd卡等的识别情况; 4、在Linux中所有的读写都是通过文件的形式操作:SD卡通过创建文件,然后挂载在/dev/sda1上访问;usb接口模块通过/dev/ttyusb0、/dev/ttyusb1等接口处理数据的访问、发送和接受;
二、添加好功能模块的支持只是使得信息能够正常的传输,要想具有分析、按照自己的需要去做处理的能力,就需要算法逻辑的代码才能完成: A、SD卡的热插拔功能: 1、在内核的gpio.c中添加io、write、read等接口,添加简单的算法逻辑,使得接受到应用层的设置获取信息后,对gpio口做相应的处理;即gpio口重启,使得SD卡模块重新识别可用而不用设备做重启操作; 2、应用层: 添加对内核gpio处理的应用程序;实现对gpio口的设置;gpio_handle; 添加对SD卡是否松开的检查逻辑--这种算法方法很多,其中一种认为的思考方法为:每隔一段时间检查挂载的文件是否存在,若不存在,则调用gpio_handle,对gpio重启,并重新挂载;
B、GPS模块信息的处理:添加/dev/ttyusb3接口信息的接受,并将该信息通过SOCKET发送至服务端; C、3g/4g信息的处理: 1、AT指令用于发送信息到模块,对模块做一些操作,如初始化,启动,关闭,发送信息到基站,接受信息等; 2、将发送及获取到的信息进行判断处理,启动网络配置信息;
三、周边设备已上网探测功能开发思想:

总结: 1、上述是指实现算法的核心部分,大部分情况,人的习惯性思维都是主要集中在核心部分上,但是要实现一个智能的功能,只是考虑这个是不行的,一些异常情况的考虑和思考分析的过程也是实现功能的主要部分,是对细节,思维缜密的考量; 2、开发的智能程度主要看的是算法,但是智能算法要得以实现也是需要模块的支持,字符信息准确无误、细节缜密的传输、外观的完美显示、信息的尽量简单;都是需要开发,但这种开发是简单,只需要耐心细心和花时间把每一种可能的情况想到即可;     3、程序的开发,一定是具备分析能力的,否则就是弱智程序(简单的将输入对应数据库的对应值输出),将分析的过程和逻辑加入到设备中,使得设备智能化,具备计算和处理能力,用程序和算法表示,开发出智能设备智能硬件。 4、设备没有像眼镜一样的观察能力,只能通过程序将数据读取然后分析去做判断。