一、准备工作
1:软件准备
A.可用于进行交叉编译的linux系统环境,可以用windows的linux子系统(wsl),也可以用linux虚拟机等系统环境。目前测试用的系统是Ubuntu18.04。安装好系统后,输入 sudo apt install build-essential 安装gcc等编译工具。
B.可以进行C语言编译的软件,建议使用CLion,使用起来简单方便。
C.获得gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabihf.tar.xz 交叉编译工具,解压到 /usr/local/中,并把文件夹重命名为arm-linux(为了方便后续配置)。
D.可以进行串口调试连接的软件,建议用xshell,secureCRT等软件,选择serial串口模式(波特率为115200bps),进行连接。主要是用于进行嵌入版的控制台操作。
E.给linux系统安装一个tftp服务器,安装方式可以参考: https://blog.csdn.net/qq153471503/article/details/106213299
主要是用于与嵌入板进行文件的上传和下载的交互。
F.在/usr目录,创建lib目录,把demo目录下的so库文件,拷贝到lib目录中。
二、硬件准备
A.一张中星微VC0768的嵌入板。
B.USB串口线:串口线连接如下:插在JP1串口处,分别是黑、绿、白插入,另外一端USB口接上电脑即可。具体如下:
C.网线:插在T16的网口上。
三、环境编译
- CLion的交叉编译环境配置参考:
·······
2.测试工程参考:
参考测试用例embed_test,也可以自行创建CMakeList.txt,并引入libcurl.so和libsm.so,进行工程的搭建。CMakeList.txt参考如下:
3.云密码服务器配置
前置条件:使用有物联网管理模块的云密码服务平台。
(1)首先需要管理员创建一个机构供相应的物联网项目进行使用,应用方获得机构的账号和密码后,登录到云密码服务平台,进行密码的修改;
(2)创建SM9主密钥供应用的使用:
(3)进入密码应用->默认应用->密钥下载,点击应用操作,选择密钥配置,进行密码机密钥的关联,与步骤2中的密钥进行关联;
(4)进入单点登录->应用管理,点击新增应用:
得到应用ID;
(5)点击密码,获得应用凭证:
(6)到物联网管理->开户管理,进行设备的添加:
点击新增:
记下:设备的用户id为手机号:13800138002,设备ID为:tianyingserial0001, 盐值为:tianyingsalt123。至此,物联网平台的设置基本完成。
四、运行编译
1.首先了解嵌入版中的tftp的使用:
Usage: tftp [OPTIONS] HOST [PORT]
Transfer a file from/to tftp server
-l FILE Local FILE ==>本地文件名
-r FILE Remote FILE ==>服务器上的文件名
-g Get file ==>表示需要下载文件
-p Put file ==>表示需要上传文件
例子:(其中tftp服务器地址为:192.168.1.101)
(1)下载embed_test 到本地的嵌入板:
tftp -g -r embed_test 192.168.1.101
(2)上传test.log到服务器:
chmod +x embed_test
(3)用embed_test 的测试demo,进行交叉编译,得到可执行文件embed_test,放到tftp的根目录下,然后到嵌入板,进行下载embed_test 到本地:
tftp -g -r embed_test 192.168.1.101
(4)下载后,给embed_test添加运行权限:
chmod +x embed_test
(5)即可进行./embed_test的运行测试。
五、参考文档
wsl系统的安装:
tftp服务器的搭建:
2.https://blog.csdn.net/qq153471503/article/details/106213299
tftp命令的使用:
CLion的下载(建议下载:2022.2.2):
4.https://www.jetbrains.com/zh-cn/clion/download/#section=windows