网友热论开发应广单片机,工业级8-bit MTPIO 类型PFC154单片机具体应广的讨论帖子,在分析了READ和WRITE后,发现:PFC154程序字=14位,但使用19位进行读/写。

整理编辑:逐高电子技术开发部 / 日期:2024-11-24

 

帖子01

今天我开始研究PFC154(工业级8-bitMTPIO类型单片机),令我惊讶的是,在分析了READ和WRITE后,我发现:

PFC154程序字=14位,但使用19位进行读/写。

每个程序字的开头都附加了5个额外的位。一些额外的位通常用于纠错,让我们看看……

逻辑分析仪读数的一些样本:14位数据=>5个额外的位:
3FFF=>1F
0070=>08
2F00=>0E
0182=>04

第一次尝试:

输入上面的二进制14位值后,网站将显示附加在双字符串末尾的结果。
=>全部匹配!这是使用标准syndrom的经典HammingECC:)

这有点出乎意料,但看起来“工业级部件”确实有一些额外的功能。

不错的发现,谢谢分享。

帖子02

我认为更传统的大型MCU,例如STM32,也为闪存提供了ECC保护。但我认为他们的闪存适用于更大的字,它总是并行访问64位左右。因此,他们为这样的字而不是每个单个命令实现了ECC。但考虑到PDK的设计更简单,我认为为每个命令添加一些额外的位是一种合理的方法。

想象一下,当我将PFS154放入ZIF插槽并在运行探测命令后看到以下输出时,我有多开心!:
代码:[选择]

>easypdkprog-v探测
探测IC...找到。
TYPE:FLASHRSP:0xAA1VPP=4.50VDD=2.00
IC支持:PFS154ICID:0xAA1

然后,我上传了预编译的helloworld示例:
代码:[选择]

>easypdkprog-nPFS154writeExamples\helloworld_pfs154.ihx
正在擦除IC...完成。
写入IC...完成。
正在校准IC
*IHRCSYSCLK=8000000Hz@4.00V...校准结果:7951482Hz(0x84)完成。

然后启动它:
代码:[选择]

>easypdkprog-nPFS154-r4.0start
正在运行IC(4.00V)...IC已启动,按[Esc]停止。
HelloWorld!
HelloWorld!

IC停止

帖子03

下面是一些其他图片。

我清理了板对板连接,并移除了IC插座悬垂部分上未使用的引脚。我有点喜欢保留悬垂部分,因为它可以保护zif适配器原本暴露的引脚。

是的,正如预期的那样,它也可以与SOIC-8测试夹配合使用。

它们还没有发货,但我仍然希望在本周末之前拿到我的开发板,这应该会让这一切变得更干净一些。

我还测试并验证了PMS150C和PMS152的探测是否正确。

帖子04

在PDK14SDCC中使用位域->错误

structPORT_bits
{
uint8_tp0:1;
uint8_tp1:1;
uint8_tp2:1;
uint8_tp3:1;
uint8_tp4:1;
uint8_tp5:1;
uint8_tp6:1;
uint8_tp7:1;
};//__attribute__((__packed__));

#defineBF_PA(*(volatilestructPORT_bits*)&PA)

voidmain(void)
{
PAC|=_BV(LEDPIN);//此语法将推断set0/set1

for(;;){
BF_PA.p0=1;

//PA^=_BV(LEDPIN);//切换LED
delay_ms(500);
BF_PA.p0=0;
delay_ms(500);
}
}

SDCC版本:

代码:[选择]

SDCC:gbz80/tlcs90/z80n/pic14/ds400/pdk13/pdk14/pdk154.0.2#11683(Linux)

以下是发出的内容:
代码:[选择]

260;bitfields.c:55:BF_PA.p0=1;
000040012F261mova,#0x01
a000042262or_pa+0,a

...

00004CFE2F270mova,#0xfe
a00004E271and_pa+0,a

“ANDio,a”和“ORio,a”不幸不存在。因此汇编器无法汇编此代码。这需要用set0/set1替换。

编辑:

一旦这在SDCC中起作用,它将成为一种非常有用的方法来增强端口定义,因为可以使用直接分配来设置单个位,例如“PA7=1”,这直接等同于机器指令,而不是乱用位掩码。我一直在AVR上使用AVR-GCC,效果非常好。AVR-GCC会从中生成非常高效的代码。

帖子05

当然,我们什么也不用做。;) 如果有更好的代码可用,该代码很容易更改。

如果您不喜欢这样,请不要查看我刚刚推送的一些最新更新。>:D

在幕后,“setPinOutput(PIN_LED2)”只是调用一个宏,最终执行“PAC |= (1<<4)”。该宏使其更清晰/更易于阅读,并且只需更改文件顶部的一个 #define(或从命令行或 Makefile 传递覆盖)即可更轻松地交换引脚。

在所有不喜欢 Arduino 的事情中,清洁/可读性真的是其中之一吗?Arduino 如此受欢迎是有原因的。如果我们想要更多的采用,我们需要全面降低进入门槛,而拥有看起来更类似于许多人已经知道的代码环境可能会有所帮助。我甚至可能将我的 repo 名称更改为 Pdkuino,并尝试满足更多受众的需求。

 

深圳逐高电子开发部整理编辑,希望对大家有帮助,如果有开发应广单片机过程中需要帮助的,请联系我们

深圳市逐高电子有限公司

电 话
0755-88364040   
0755-88364080   
0755-83222294   
手 机:13926521299
Q Q: 2853516666
Email:sales11@zicoic.com
地 址:深圳市福田区深南中路2070号电子科技大厦D座(智方舟)5楼506-507

 

 

应广单片机技术资料

  • 台湾应广单片机官网
  • 应广单片机例程
  • 应广单片机编程指南
  • 应广单片机定时器
  • 技术开发工具
  • 应广单片机IDE&仿真器
  • 应广单片机烧录器
  • 代码生成器
应广科技八核心平行处理单片机 (FPPA) 介绍,有什么优点?相信许多研发人员都有选择 MCU 的痛苦经验, 选这颗 MCU少个UART,选那颗Timer又不够,就算选好了MCU写软体才是真正痛苦

应广科技八核心平行处理单片机 (FPPA) 介绍,有什么优点?相信许多研发人员都有选择 MCU 的痛苦经验, 选这颗 MCU少个UART,选那颗Timer又不够,就算选好了MCU写软体才是真正痛苦


模数转换器ADC 如何工作?应广科技官网公布的PMS132/PMS132B8单片机,ADC 装进程的步骤,有 7 个寄存器需要配置

模数转换器ADC 如何工作?应广科技官网公布的PMS132/PMS132B8单片机,ADC 装进程的步骤,有 7 个寄存器需要配置


应广单片机烧录方法,PMS133/PMS134 的烧录脚为 PA3,PA4,PA5,PA6,VDD,GND 这 6 只引脚,随着烧录器版本的不同,每种封装形式烧录方法也不尽相同

应广单片机烧录方法,PMS133/PMS134 的烧录脚为 PA3,PA4,PA5,PA6,VDD,GND 这 6 只引脚,随着烧录器版本的不同,每种封装形式烧录方法也不尽相同


应广单片机YFS1224 系列12bit ADC 型 MTP MCU 带 2K-bit EEPROM,包含两个部分:PFS122B MCU,2Kbit EEPROM,是一款 12bit ADC 类型的 MTP MCU

应广单片机YFS1224 系列12bit ADC 型 MTP MCU 带 2K-bit EEPROM,包含两个部分:PFS122B MCU,2Kbit EEPROM,是一款 12bit ADC 类型的 MTP MCU


应广单片机PMB180 8 位 OTP 型单片机带充电,IC充电器使用与设定,PMB180 的充电器做电性量测V1 电压波形:(CC Mode, R1 = 10Kohm, C1 = 1uF)

应广单片机PMB180 8 位 OTP 型单片机带充电,IC充电器使用与设定,PMB180 的充电器做电性量测V1 电压波形:(CC Mode, R1 = 10Kohm, C1 = 1uF)


单片机选型指南,项目开发如可购买单片机,这里分享干货让你少找弯路,选择微控制器(MCU)的10个步骤,推荐几款常用的单片机

单片机选型指南,项目开发如可购买单片机,这里分享干货让你少找弯路,选择微控制器(MCU)的10个步骤,推荐几款常用的单片机


PMS152G应广科技8 位 OTP SuLED IO 型单片机,工作温度范围:-40°C ~ 85°C,烧录方法,请使用 PDK5S-P-003x 烧录,1.25KW OTP 程序存储

PMS152G应广科技8 位 OTP SuLED IO 型单片机,工作温度范围:-40°C ~ 85°C,烧录方法,请使用 PDK5S-P-003x 烧录,1.25KW OTP 程序存储


应广科技单片机应用开发中PMC-APN003 IO 输出引脚连接长导线时的应用需知,PA3 用于控制 TRIAC,线路接法为 PA3 输出引脚先接100 公分长的导线

应广科技单片机应用开发中PMC-APN003 IO 输出引脚连接长导线时的应用需知,PA3 用于控制 TRIAC,线路接法为 PA3 输出引脚先接100 公分长的导线


应广触摸单片机 PMS161 触摸功能内含一个触摸检测电路,用户可通过寄存器 ESOCR配置触摸模块电源

应广触摸单片机 PMS161 触摸功能内含一个触摸检测电路,用户可通过寄存器 ESOCR配置触摸模块电源


应广科技 PMB183 8 位 OTP 型单片机带充电,内置一个硬件充电器,此充电器为完全恒流/恒压线性充电,可用于单节锂离子电池充电管理

应广科技 PMB183 8 位 OTP 型单片机带充电,内置一个硬件充电器,此充电器为完全恒流/恒压线性充电,可用于单节锂离子电池充电管理


低功耗高效能语音控制IC,为您的设备赋予语音交互能力,应广科技语音单片机芯片打造极致语音控制体验的IC选择

低功耗高效能语音控制IC,为您的设备赋予语音交互能力,应广科技语音单片机芯片打造极致语音控制体验的IC选择


PMB180应广单片机8 位 OTP 型单片机带充电,内置一个硬件充电器。此充电器为完全恒流/恒压线性充电,可用于单节锂离子电池充电管理

PMB180应广单片机8 位 OTP 型单片机带充电,内置一个硬件充电器。此充电器为完全恒流/恒压线性充电,可用于单节锂离子电池充电管理


PMC-APN002 过电压保护应用需知,IO 输入电压高过 VDD 或低于 GND,都可能造成应广单片机损伤,或是因内部电流引发单片机不正常工作

PMC-APN002 过电压保护应用需知,IO 输入电压高过 VDD 或低于 GND,都可能造成应广单片机损伤,或是因内部电流引发单片机不正常工作


语音芯片IC_MCU单片机语音方案,使用Arduino和蓝牙DIY语音控制家庭自动化案例,用语音命令无线控制家用电器和灯光

语音芯片IC_MCU单片机语音方案,使用Arduino和蓝牙DIY语音控制家庭自动化案例,用语音命令无线控制家用电器和灯光


PMS154C单片机8位PWM计数器/比较器使用,选择 PA3 为负输入和 Vinternal R 为正输入,Vinternal R 的电压为(18/32)*VDD,AC 阻容降压供电

PMS154C单片机8位PWM计数器/比较器使用,选择 PA3 为负输入和 Vinternal R 为正输入,Vinternal R 的电压为(18/32)*VDD,AC 阻容降压供电


开发实力

专业资深的软硬件开发工程师团队,熟悉行业客户产品硬件技术平台解决方案

全球渠道

为客户提供高性价比的产品和服务,满足客户及时快速的电子生产制造需求

品质保证

专业的测试保证团队,保证每批方案的稳定性,兼容性,和抗干扰性

售后服务

专业的技术服务团队,24小时为客户提供各种软硬件的技术支持和售后服务

服务热线

0755-88364040
18902464556

义隆代理

烧录开发

技术支持

申请样品

扫描微信二维码