keil/mdk
1. 调试时保存内存数据
# 保存在文件filename中,格式为HEX386(若看不懂可以通过hex2bin工具进行转换)
save filename start_addr,end_addr
2. format命令
输出相应的bin文件
fromelf --bin -o "$L@L".bin "#L"
将编译后的汇编代码输出到指定文件
fromelf -c -o "$L@L".dis "#L"
3. 清除工程文件
Windows下,使用bat脚本进行清除。
或者不熟悉bat脚本的,可以使用python脚本进行清除:
@echo off
REM 1.0 获取当前工程所在的目录的名称
for %%i in ("%cd%") do set name=%%~ni
echo %name%
REM 删除Project下的某些文件
cd .\Project
del /Q /S .\Objects\*
del /Q /S .\Listings\*
del /Q /S .\DebugConfig\*
del /Q /S *.uvguix.*
REM del /Q /S *.uvoptx
del /Q /S *.scvd
cd ..
REM pause
"""
2021-07-02 修改
"""
import shutil
import sys
import os
import re
def make_clean(current_path,re_rm_dirs,re_rm_files):
reg_rm_files = re.compile(re_rm_files)
for root, dirs, files in os.walk(current_path, topdown=False):
for name in files:
path = os.path.join(root, name)
m = reg_rm_files.findall(path)
if m != []:
print('rmmove -> ',path)
os.remove(path)
for name in dirs:
if name in re_rm_dirs:
print('rmtree -> ', name)
shutil.rmtree(name)
if __name__ == "__main__":
# 1.0 待删除的文件夹名称(完全匹配)
rm_dirs = r'Listings|Objects'
# 2.0 待删除的文件名称(部分匹配)
re_rm_files = r'uvguix|scvd'
make_clean(".",rm_dirs,re_rm_files)
# os.system('pause')
4. format配置
# 参数
--style=ansi -s4 -c -w -p -xg -U -k3 -W3 -N -L -m0 -M40 --suffix=none !E