首先需要下载那个git clone
git clone https://gitee.com/geniuschinahn/bl_iot_sdk.git
然后下载的软件就在这个里面:
这里面有个flash_tool,其中一个exe的就是windows系统下的可视化烧录软件,很方便
另外一个就是ubuntu内的。看吧这里应该是bflb_iot_tool-ubuntu
特别注意的是:这是一个命令行软件,必须在bash里面执行
如果你真的去双击这个软件,你可以试试看。。。。。。。。。。。。。
这个软件的使用方法如下:
bflb_iot_tool使用方法 — BL IoT SDK release_bl_iot_sdk_1.6.39-238-gf5ba0a7ee 文档
bflb_iot_tool使用方法
在tools/flash_tool目录下有两个可执行文件: bflb_iot_tool和bflb_iot_tool.exe,分别对应linux和windows环境,通过传入不同的参数,我们可以以命令行的形式自定义烧录,具体使用方法如下,以linux环境为例。
参数列表
--chipname:芯片名字BL602或者BL702 必填--interface:默认uart--port:com口,默认自动查找,不指定的话默认 端口0--baudrate:波特率默认115200--xtal:xtal,602默认40M,702默认32M--dts:device tree文件(必填,可以为空或者指定文件不存在,如果指定为空或者文件不存在则使用默认dts文件--pt:partition table文件(必填,可以为空或者指定文件不存在,如果指定为空或者文件不存在则使用默认d分区文件)--firmware:默认img目录下的project.bin ,一般指定为我们要烧录工程的bin--build:只生成镜像--erase:擦除flash--single:单文件烧写--addr:烧写地址默认0--config:eflash_loader_cfg.ini--ota: 指定ota文件生成目录示例
比如我们要在602平台烧录customer_app/bl602_demo_event/build_out/bl602_demo_event.bin,参数分别如下:
chipname=BL602interface=uartport=/dev/ttyUSB0boudrate=2000000xtal=40Mdts=customer_app/bl602_demo_event/img_conf/bl_factory_params_IoTKitA_40M.dtspt=customer_app/bl602_demo_event/img_conf/partition_cfg_2M.tomlfirmware=customer_app/bl602_demo_event/build_out/bl602_demo_event.bin以上参数有些默认可以不用指定。
执行命令 ./tools/flash_tool/bflb_iot_tool --chipname=BL602 --port=/dev/ttyUSB1 --baudrate=2000000 --dts=customer_app/bl602_demo_event/img_conf/bl_factory_params_IoTKitA_40M.dts --pt=customer_app/bl602_demo_event/img_conf/partition_cfg_2M.toml --firmware=customer_app/bl602_demo_event/build_out/bl602_demo_event.bin, 出现下图所示表明烧录成功。
如果你觉得这个办法麻烦,你可以尝试使用 安信可介绍的那个方法:
也就是在helloworld文件夹内执行make flash_only命令
但是条件是1首先你需要设置一个编译的路径的环境变量;
2 你需要把上面提到的bflb_iot_tool-ubuntu这个文件该名称为:bflb_iot_tool
也就是去掉-ubuntu后缀,成为默认的执行文件
目前的情况是:没有分区表文件:而且他github官网也看不到这个文件,
4个文件都没有:
应该说他们这个公司软件从官网开始就不支持使用ubuntu烧录。(错误)
不好意思我上面这句话说错了:正确的是可以烧录的,同样也是我发现的:
只要你烧录的是bl602类型文件就存在这4个文件:
不好意思这个文件太大了,怎么会这样,在来一个小的:
其实img文件有2个,一个是2M,一个是1M,既然说大了,那么只要烧录那个1M的就可以了
指定那个partition_cfg_1M_ota.toml应该就可以了
根据出现的这个现象已经跟使用windows虚拟机出现的故障是一样的了:
这个时候使用的命令是:
./tools/flash_tool/bflb_iot_tool --chipname=BL602 --port=/dev/ttyUSB0 --baudrate=115200 --dts=customer_app/bl602_demo_event/img_conf/bl_factory_params_IoTKitA_40M.dts --pt=customer_app/bl602_demo_event/img_conf/partition_cfg_1M.toml --firmware=customer_app/bl602_demo_event/build_out/bl602_demo_event.bin
最后的结果跟windows虚拟机一样:没有解决;
不过烧录软件不是最重要的,我不是还有一台60G的windows吗
如果你执意要解决这个问题,那么我利用windows成功的刷机经验,可以告诉你
成功的刷机只需要接4根线 3V3,GND,TX,RX,这就够了。这至少可以排除
上面说的引脚产生的原因。
如果你觉得我就这样,那么你就错了:接下来告诉你怎么使用Ubuntu可视化界面下载/烧录固件到单片机:
只需要一句话:cd /home/actorsun/ESP/
然后:chmod 777 ESP
然后就可以执行了:./tools/flash_tool/BLE
看到没有这个可是ubuntu环境内的烧录工具
可惜的是即使使用这个可视化工具也还是出现同样的故障。看来还是要用windows了。
向这样实力的公司就可以上市了,看来我明天也可以上市啊
然后神奇的一幕出现了:我在Windows系统内采用同一个SDK做了类似的事情,然后Windows系统也不行了:有可能是搞错了库
最后我发现了:是波特率设置问题:我的开发环境都已经搞好了,只需要把波特率设置为961200就可以了