# 用go来做嵌入式开发-嵌入资源简化程序部署 在嵌入式中一般会设计到一些配置信息、图片和网页相关的资源,如果我们分开发布,容易搞的跟对应的程序版本不匹配,能不能把相关的资源文件都嵌入到发布程序中,让我们程序每次更新的时候只需更新一个二进制程序啦 ## 网页资源文件嵌入 嵌入式设备在没有LCD显示屏的情况下,一般会提供一个内嵌web服务器来提供参数配置和业务管理等功能,我们可以把这个网站的资源嵌入到我们的二进制程序文件中,例如我的web资源文件在web目录下 1. 下...
-
用go来做嵌入式开发-嵌入资源简化程序部署
-
用go来做嵌入式开发-交叉编译和自动版本号
# 用go来做嵌入式开发-交叉编译和自动版本号 * 嵌入式硬件平台一般是采用arm或者mips等非x86架构,因此需要在编译程序的时候指定目标机器平台 * 有时候需要在go程序中自动生成版本号和编译日期信息,这个在c和c++中很方便实现有__TIME__和__DATE__宏可以实现,那么在go中如何来实现自动插入编译时间和日期啦? ## 多平台教程编译脚本 * arm平台 ``` @echo off set GOARCH=arm set GOOS=linu...
-
用go来做嵌入式开发-程序瘦身
# 用go来做嵌入式开发-程序瘦身 在嵌入式设备中一般存储控件都比较小,go编译后的程序包含运行时,体积一般比较大,所以我们需要对程序做一个瘦身,瘦身的方法很简单,编译的时候去除调试信息,然后使用upx来做压缩,upx支持各种cpu架构的压缩 ## 编译脚本 我使用的mtk7688的芯片,mips架构,因此对应的编译脚本如下 ``` ::高通方案althon方案的cpu ::set GOARCH=mips ::mtk方案的cpu @echo off set GOAR...
-
用go来做嵌入式开发
# go做嵌入式系列大纲 * 硬件开发平台和开发环境搭建 * 交差编译和版本发布 * 如何程序体积变小 * 集成最小web服务器和前端框架 * 外挂铁电存储器 * 外挂rtc时钟 * 外挂adc芯片 * spi外设通讯集成外部单片机 * gpio控制和按键检测 * u盘和sd卡挂载和访问 * modbus 服务器 * modbus 客户端 * 串口/RS485和自定义协议框架 * 嵌入式下的日志库 * 设备和上位机网络通讯框架【udp和tcp】 * 增量升级和...
-
用go语言来做嵌入式-读写铁电存储器
# 用go语言来做嵌入式-读写铁电存储器 ## 存储器介绍 在嵌入式设备中使用的存储芯片一般多用的Flash芯片或者EEPROM芯片的,它们的擦写次数大概是10万-100万次,而且写入时间也是毫秒级别,再一些对关键参数存储要求较高的场景下,就需要使用铁电存储器了,铁电存储器的读写次数以亿级来算,而且写入时间可以达到纳秒级,存储非常可靠。 ## 项目背景 我最近在我们一款采集设备上应用到了一款FM24CL64的8KB的铁电存储器,该芯片是I2C接口的,该设备是基于mtk7688...