我们有一个程序播放器与最后一个固件。 现在,我们需要一个编译器和应用程序来编辑代码。这里我讲的是Windous的版本。编译器将使用SDCC。VS 代码的编辑。
从这里,我们下载Windous的VS Code发行版。 Отсюда有一个存档,您需要工作的其他所有内容都位于其中。
解压包,在文件夹中,我们有一个发行版:sdcc-4.2.0-x64-setup。持续安装 SDCC 和 VSCode 程序。除了发行版之外,存档还有一个文件夹“padauk-scd-scdo-starter-master”。该文件夹包含一个用于编写Padauk微控制器代码的程序,下面支持的列表应广科技单片机的型号:
PMS150C PMS152 PFS154 PMS154
PMS 171171 B ((PMS171B已在此版本中解析)
PFS 172 PFSPFS 173
PMS15A
PFS154 PFS172 PFS173
一、开发环境搭建
编译器安装
安装程序后,打开文件夹:正确的鼠标按钮是“用代码打开”
使用SSDC(SDCC)4.2.0版本(优先于4.4.0)
下载地址需根据原文指引获取
注意版本兼容性:新版需调整配置文件
代码编辑器配置
推荐CodeBlocks IDE
设置默认编译器:Settings/Compiler > 选择SDCC并设为默认
我们同意警告,点击“是”。使用图标创建干净的文件
二、项目创建规范
新建项目
创建空项目(Empty project)
命名规范:建议英文命名(如TEST1)
#define PFS154
#define F_CPU 1000000
#define TARGET_VDD_MV 3000
#define TARGET_VDD 3.0
#include
#include "auto_sysclock.h"
#include "delay.h"
#define BTN_L()!(PA & (1 << 0))// левую кнопку навешиваем на PA0
#define BTN_R()!(PB & (1 << 0))// правую кнопку навешиваем на PB0
// Main program
void main() {
PAC=0b11111110; // Enable Button as digital input
PAPH=0b00000001; // подключаем подтягивающие на порт PA,включая вывод кнопоки
PBC=0b11111110; // выводы PB определяем на выход кроме PB0
PBPH=0b00000001; // подключаем подтягивающий на порт PB0, вывод кнопоки
int i = 0;
PB=0;
_delay_ms(300);
if (BTN_R()) { // при нажатии верхней кнопки
i=7;
while (i>=0) {
PB=PB | (1 << i);
_delay_ms(50);
i=i-1;
}
}
else if (BTN_L()) { //при нажатии нижней кнопки
i=0;
while (i<=7) {
PB=PB | (1 << i);
_delay_ms(50);
i=i+1;
}
}
else {
PB=255; // мерцание, если кнопки не нажаты
_delay_ms(200);
}
}
// Startup code - Setup/calibrate system clock
unsigned char _sdcc_external_startup(void) {
AUTO_INIT_SYSCLOCK();
AUTO_CALIBRATE_SYSCLOCK(TARGET_VDD_MV);
return 0; // Return 0 to in SDCC to continue with normal initialization.
}
配置选项:
✔ 选择SDCC编译器
✔ 仅保留Release配置
❌ 取消"Create 'Debug' configuration"
项目属性设置
构建目标 > 构建选项 > 其他选项:
添加MCU专用标志(如"-mpdk14")
输出设置:
✔ 修改扩展名为.ihx
✔ 取消"Auto-generate filename extension"
✔ 选择"Console application"类型
三、应广科技单片机编译与烧录流程
编译我们的代码“Cntr+Shift+B”的命令。在下拉窗口中,选择微控制器的位深度。在这种情况下,PFS154是14。编译立即开始。如果没有错误,则显示这样的文本。报告中最主要的是底部是“完成”。
使用此代码,我们将缝合布局板,其核心是微控制器PFS154-14。
板上有三个LED和一个按钮。板的设计使其可以轻松安装在程序机的开关中。其功能有点宽,可以补充第二个按钮,一个16腿的微控制器PPS154。按钮与“INT0”、“INT1”的结论相连。
下面是我们需要的几支球队。将布局插入程序员
要检查连接的软件器和/或微控制器,请将“Cnr+P”热键插入“Probe MC”下拉窗口中的“Task+Geet”。接收结果
要固件微控制器热键 » Cntr + P " , 在下降窗口中,我们输入"taksk+space" 选择"写入MC " 。在下拉窗口中,选择我们的微控制器。我们在屏幕上得到这个结果
我们在MK中拼接代码,从程序员那里拉出布局,提供电源。打开电源时,LED开始闪烁,按下按钮时,一定有运行火的效果。
代码管理
创建main.c文件并添加示例代码
通过Ctrl+F9执行编译
输出路径:项目目录\bin\Release*.ihx
烧录工具使用
使用EASYPDKPROG(需单独安装)
常用命令:
easypdkprog probe # 检测硬件连接
easypdkprog -n PFS154 write Test1.ihx # 烧录程序
easypdkprog -n PFS154 read readout.ihx # 读取固件
四、应广科技单片机开发示例代码处理
资源获取渠道
官方示例(fppa-code-examples):需原厂IDE
社区资源:
a) sdcc-pdk-code-examples:直接可用
b) free-pdk-examples:需附加头文件
头文件配置
下载完整项目包(GitHub Code/Download ZIP)
文件部署:
├─ easy-pdk/ → SDCC安装目录\include
├─ pdk/ → SDCC安装目录\include
└─ *.h → 项目同级目录
五、兼容性注意事项
设备支持
全支持型号:PFS154/PFS172/PFS173等
有限支持:PMS171B(需特殊处理)
开发限制
free-pdk-examples处于开发阶段
需手动添加预定义:
#define PFS154
#define F_CPU 10000
#define TARGET_VDD_MV 4000
六、应广单片机开发的调试建议
版本验证
确认SSDC版本与社区文件匹配
检查MCU型号与编译参数对应关系
路径管理
确保头文件路径正确
验证输出文件生成路径
烧录检测
优先执行probe命令确认硬件连接
读取固件验证烧录完整性
附:MCU编译参数速查表
MCU型号 编译参数
PFS154 -mpdk14
PMS150C -mpdk13
PMS132 -mpdk15
PMS134 -mpdk16
注:具体参数需根据实际MCU架构调整,建议参考SDCC官方文档和Free PDK社区更新说明