- 博客(8)
- 资源 (2)
- 收藏
- 关注
原创 [从0到1搭嵌入式工程]设备与服务器后台通信的搭建
通过什么协议, 需要什么依赖,加密, 做什么通信,心跳保持,前后兼容问题。1,设备与服务器后台通信,使用libcurl库, 使用http、https协议, 根据server API 构造URL,与server进行交互、请求、上传、下载等。2,用HTTP还是HTTPS,使用HTTP协议,传输的文本会以明文的形式在互联网上传输,可能会被截取,查看, 使用HTTPS协议,消息会被加密后发送到网络上,中间...
2018-05-09 16:06:16 1293
原创 [从0到1搭嵌入式工程]模块间通信的搭建
各模块(进程)之间,采用消息队列的方式通信。整体通信采用一个调度转接点,其他进程只和这一个转接点进程进行通信的方式进行, 如果发给其他进程的消息,也通过调度进程进行转发, 调度进程起名字叫Dispatch Process。在dispatch程序刚启动时,需要对消息队列进行初始化,因为它是中转进程,需要和所有进程建立消息队列。dispatch_mqfd = mq_open("/mq_dispatch...
2018-05-07 20:03:44 574
原创 [从0到1搭嵌入式工程]启动固件
linux 内核启动之后,会执行1号用户进程init,然后由它来启动后面的任务,挂载文件系统,启动服务等,init会执行init.rc文件, 最后由init.rc执行到我们的init.sh脚本。在init.sh中,继续创建需要的目录,挂载文件系统,在启动真正的home_m之前,判断是否升级。 执行ifconfig wlan0 up启动wifi , ulimit -c unlimited 生成co...
2018-05-07 19:01:12 340
原创 [从0到1搭嵌入式工程]对shell命令的调用
在linux的应用程序中,调用system()和popen()可以执行shell命令。system()命令是串行执行,是阻塞的,等到shell执行结束后,返回, system不能直接返回执行结果。popen()是平行的,不等执行完成,函数就会返回, 继续往下执行。popen会返回一个文件指针,可以对这个文件指针进行读和写,会作用到sh中的文件中。所以对于需要阻塞的命令,可以直接调用system()...
2018-05-07 17:49:58 210
原创 [从0到1搭嵌入式工程]日志系统的实现
嵌入式开发的log输出,一种是直接输出到标准输出,通过串口可以看到, 一种是把日志存在内存文件中, 在一般嵌入式开发中, 这两者是并存的。标准输出通过 printf()函数, 或者通过vfprintf(stdout, format, args)输出到标准输出。对于放在文件中的日志,因为日志的频繁性, 需要单独的线程或进程对文件进行读写, 同时对log文件进行大小限制、循环覆盖等管理。下面记录一种实...
2018-05-07 15:24:49 3620 1
原创 [从0到1搭嵌入式工程]编译打包和升级的实现
工程编译:我们以nand分区,分为bootloader、kernel、rootfs、homefs为例。rootfs是linux系统必须的文件目录系统和工具的集合,挂载在跟目录/下,homefs可以认为是我们自己的应用程序、自己的依赖库,放在homefs中,放在/home目录中。那么编译打包的过程,就是把固件运行所需的全部文件,打成一个包, 在升级时,由升级程序把这个包拆开,把相应的文件保存在对应的...
2018-05-04 20:29:17 1000
原创 [从0到1搭嵌入式工程]重置的实现
一般会有一个重置的按钮,用户在长按之后,设备执行重置操作。 在某一个线程中,每隔一秒去检测硬件上重置按键是否被按下(由驱动提供接口),如果检测到两次或者以上次数被按下,就可以认为是长按,去执行重置的操作。注意判断时间也不能过长,如果硬件上也有重置,比如硬件自身在长按6S之后,硬件自身就会重置,也就是硬件的这个按键的信号也会被重置,如果在软件上我们判断7S才认为是长按,那么就会出现软件...
2018-05-02 15:51:22 303
cyassl3.3.0源码和manual
2018-09-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人