关于ntp服务器
服务器选择
国内默认服务器一般是"cn.pool.ntp.org", 然而稳定性不好, 也许用的人太多? ntp.aliyun.com相对更稳定.
ntp端口号
ntp端口号是123
,看起来跟假的一样...
ntp服务器测试
linux下使用ntpdate -q cn.ntp.org.cn
测试
国内默认服务器一般是"cn.pool.ntp.org", 然而稳定性不好, 也许用的人太多? ntp.aliyun.com相对更稳定.
ntp端口号是123
,看起来跟假的一样...
linux下使用ntpdate -q cn.ntp.org.cn
测试
使用空白模板登入, 发现就是一个web版本的vscode!
居然也带了terminal, 那就意味着操作系统!
查看一下这个系统的配置:
MemTotal: 4020176 kB
MemFree: 138564 kB
MemAvailable: 2357852 kB
Buffers: 353748 kB
Cached: 1967260 kB
Filesystem Size Used Avail Use% Mounted on
overlay 32G 13G 18G 41% /
tmpfs 64M 0 64M 0% /dev
shm 64M 8.0K 64M 1% /dev/shm
/dev/root 29G 21G 8.1G 73% /usr/sbin/docker-init
/dev/sda1 16G 288K 15G 1% /tmp
/dev/loop3 32G 13G 18G 41% /workspaces
从上面可以看出来是docker容器, 这儿有一篇文章讲如何修改默认的软件:https://blog.csdn.net/boling_cavalry/article/details/125110236
根目录下有bl2028n_sdk_release
和qcloud-iot-bk-wifi
两个目录, 编译是在qcloud-iot-bk-wifi
中进行
编译命令
visudo
,打开的文件中,在root ALL=(ALL:ALL) ALL
下仿照写一行,如我的用户名是rnd:root ALL=(ALL:ALL) ALL
rnd ALL=(ALL:ALL) ALL
root@ubuntu-bl2028n:/media/sf_share/qcloud-iot-bk-wifi# make -j4
make: Warning: File '/media/sf_share/bl2028n_sdk_release/.config' has modification time 2.1 s in the future
LD ../out/beken2028n.elf
arm-none-eabi-gcc: fatal error: -fuse-linker-plugin, but liblto_plugin.so not found
compilation terminated.
../bl2028n_sdk_release/application.mk:336: recipe for target 'application' failed
make: *** [application] Error 1
原因是gcc-arm-none-eabi-5_4-2016q3\lib\gcc\arm-none-eabi\5.4.1\liblto_plugin.so
文件和so.0
文件时链接到liblto_plugin.so.0.0.0
文件上的,所以给liblto_plugin.so.0.0.0
复制两份改成上面的liblto_plugin.so
和liblto_plugin.so.0
文件名。
然后在系统启动文件/etc/profile
中加入:
export ARM_GCC_TOOLCHAIN="/media/sf_share/gcc-arm-none-eabi-5_4-2016q3/bin/"
export PATH="$PATH:$ARM_GCC_TOOLCHAIN"
no such file or ...
,需要安装支持软件,安装前先update:apt-get update
apt-get install gcc-multilib g++-multilib
CentOS:
dnf install glibc-devel.i686
dnf比yum先进, 建议改用
qcloud-iot-bk-wifi
目录,运行make clean
,在运行make -j8
(8是虚拟机的CPU核心数)进行编译;out
目录中,烧录all***.bin
文件。烧录方式是打开bk_writer_V1.63.exe文件,选择bl2028n,选择固件,点击烧录即可。GND-TXD1-RXD1
上来烧录。docker安装起来比虚拟机快很多.
可以先安装docker desktop, 然后取一个镜像, 并运行容器, 我还是用之前腾讯给的esp编译的centos 8镜像, 在windows命令行下:
# 获取镜像
docker pull hubertxxu/esp8266_build:0.1
# 下一句设置共享目录
docker run --name esp -v path/to/host/folder:/path/to/container/folder -dt hubertxxu/esp8266_build:0.1
# 进入docker bash环境
docker exec -it esp bash
# 安装32位兼容包(等同于ubuntu的gcc-multilib)
dnf install glibc-devel.i686
# 跟ubuntu一样, 修改环境变量 `~`目录下的`.bashrc`增加ARM_GCC_TOOLCHAIN和PATH, 运行即可. 注意,和上面ubuntu不同的是修改`/etc/profile`没有作用
使用共享文件夹的方式编译会发现速度极慢, 大约会慢100倍. 所以需要提速.
经过测试, 将arm toolchain和源码复制到虚拟机自己的文件夹,而不是用共享文件夹编译的话速度就非常快.
如果为了自动化, 你需要编辑.bashrc或者其他脚本文件来实现.
我在hub.docker.com上创建了docker编译镜像, 获取: docker pull darceye/bl2028n_buildenv:v0.0.1
, 安装好了环境, 并做了加速,将sdk已经复制到docker中.
为便于编译, 在host主机(以windows为例,嗯如果本身是linux也不用这么麻烦了)建立一个blq.bat
文件:
@echo off
set bl2028n_build_docker=your_container_name
if "%1" == "build" (
docker cp ./bl2028n_qcloud_sdk/qcloud-iot-bk-wifi %bl2028n_build_docker%:/home/bl2028n/bl_sdk/
docker exec -it esp bash -c " cd /home/bl2028n/ && ./bl2028nmake"
docker cp %bl2028n_build_docker%:/home/bl2028n/bl_sdk/out/all_2M.1220.bin ./build/bl2028n_FW.bin
)
if "%1" == "init" (
docker start %bl2028n_build_docker%
)
if "%1" == "docker" (
docker exec -it %bl2028n_build_docker% bash
)
if "%1" == "" (
echo BLQ: Frossky BL2028N Qcloud C building Tool. Ver1.0-20230619
echo Usage^:
echo blq: show this help.
echo blq init: init docker container
echo blq docker: into docker env
echo blq build: build firmware into `build/` folder
)
@echo on
将相关sdk放在bl2028n_qcloud_sdk/
目录中, 就可以按上面的提示进行自动编译, 并将编译后bin文件复制到build/
中.