1. 本次使用的开发板如下:
下载的代码使用的是cmake管理工具, cmake是什么,cmake可以生成工程的makefile文件,然后载由编译器编译。因为makefile在工程文件比较多的时候,一个个写太麻烦了。
2. aux_source_directory(. DIR_core_SRCS) 这行是什么意思?
这个函数第一个参数是一个点,第二个参数是 DIR_core_SRCs,查找当前目录的所有源文件列表(等于 DIR_core_SRCS)。理解就是查找当前目录所有的源文件。
3. 安装cmake,百度上方法都有,查询安装是否成功 cmake --version
4. 进入工程目录,创建文件夹 build,进入build 目录,执行cmake,再执行make,那么会生成可执行文件 .out
5. 执行.out文件,返回OTA失败,是因为HTTP服务器暂时还没开通,所以TCP连接失败了。
6. 以上执行的文件在在Ubuntu上运行的,现在想运行在MT7621上,就需要更换编译工具
cmake
make CC=/home/qhq/toolchain-mipsel-gcc-8.3.0/bin/mipsel-openwrt-linux-gcc
这样编译出来的.out文件放到 MT7621上报错。所以换个方式
7. export CC=/home/qhq/toolchain-mipsel-gcc-8.3.0/bin/mipsel-openwrt-linux-gcc
cmake ..
make
或者
make CC=/home/qhq/toolchain-mipsel-gcc-8.3.0/bin/mipsel-openwrt-linux-gcc
报错
修改了一下文件报错
Could NOT find Threads (missing: Threads_FOUND)
Call Stack (most recent call first):
/usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
/usr/share/cmake-3.10/Modules/FindThreads.cmake:205 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
CMakeLists.txt:55 (find_package)
-- Configuring incomplete, errors occurred!
See also "/home/qhq/mt7621_5g_mec/OTA-hw v1.0.0/build/CMakeFiles/CMakeOutput.log".
See also "/home/qhq/mt7621_5g_mec/OTA-hw v1.0.0/build/CMakeFiles/CMakeError.log".
解决方法参考:https://www.cnblogs.com/429512065qhq/p/13705589.html
其中出现的一个问题
export STAGING_DIR=/home/qhq/toolchain-mipsel-gcc-8.3.0/bin:$STAGING_DIR
8. 传输文件到MT7621开发板上
scp general_ota_linux.out root@192.168.1.1:/qhq/
在开发板上执行,报错,主要是服务器目前还没有,所以TCP连不上,正常