本来一向使用SDCC,后来发现同一套代码工程Keil编译出来的代码小20%左右。但是Keil的IDE和编辑器相当难用,看着极不顺眼,编写代码极不顺手。后来发现VScode可以调用Keil来编译。我研究一下了,发现Sublime这样搞也是可行的。实现步骤如下:
1。 Keil项目的根目录编写一个Makefile,如下:
SRC=main.c
all: main.hex
main.hex: $(SRC) Makefile OpenSky0.3Keil.uvproj
./keilbuild.sh
clean:
rm -rf Objects
install: main.hex
SmartRFProgConsole.exe S EPV F=$(OBJECT_DIR)/main.hex
其中SmartRFProgConsole.exe 是CC 的smartool开发工具带的,安装之后添加到path的全局环境变量里,make install 就是使用ccdebug来烧录上载。
2. 编写一个keilbuild.sh, 不直接写在makefile主要的原因是,这个keil进程的log输出要看一下,同时出错的时候,也不会打断log输出的,如下:
UV4.exe -b your.uvproj -j0 -t "Target 1" -o uv4.log
cat uv4.log
numerror=`cat uv4.log | grep -E -o " [0-9]+ Error" | awk '{print $1}'`
exit $numerror
3. 需要安装cywin,然后在sublime上使用我上个文章的cywinmake的buildsystem。
4. ctrl+b就可以使用keil来编译了。
又可以快乐的编写代码了。:D