[原创] 【新版CH554评测】使用开源编译器SDCC开发CH554

mars4zhu   2018-4-10 18:00 楼主
TODO



  1. #ifndef __CH55X_H
  2. #define __CH55X_H

  3. // in SDCC_DIR/mcs51/include, define SFR/SBIT... macros overcome 8051 compiler differences
  4. #include "compiler.h"

  5. SFR(ADC_CTRL, 0x80);
  6. SFR(SP, 0x81);
  7. SFR(DPL, 0x82);
  8. SFR(DPH, 0x83);

  9. SFR(ROM_ADDR_L, 0x84);
  10. SFR(ROM_ADDR_H, 0x85);
  11. SFR(ROM_CTRL, 0x86);
  12. SFR(ROM_STATUS, 0x86);
  13. SFR(PCON, 0x87);

  14. SFR(P1, 0x90);

  15. SFR(P1_MOD_OC, 0x92);
  16. SFR(P1_DIR_PU, 0x93);
  17. SFR(P3_MOD_OC, 0x96);
  18. SFR(P3_DIR_PU, 0x97);

  19. SFR(P2, 0xA0);
  20. SFR(P3, 0x30);


  21. #endif // #define __CH55X_H



此内容由EEWORLD论坛网友mars4zhu原创,如需转载或用于商业用途需征得作者同意并注明出处

回复评论 (5)

这个可以的,有人用SDCC做过。
单价1元含税的USB和Touchkey单片机CH551G已大批量出货,试样QQ:1258305301
点赞  2018-4-14 17:23
这个里面
https://github.com/Blinkinlabs/ch554_sdcc
是SDCC的头文件,已经处理好了
注意xdata idata _at_ sbit sfr等关键字用法不一样
我这里有ch554_platform.h,包含一些宏,可以做到SDCC和Keil C51编译器都兼容
https://github.com/rikka0w0/CH55x_USB_CDC
使用的时候每个文件都引用ch554_platform.h就好了,ch554_conf.c是初始化单片机用的代码 可以修改
上面链接是个USB_CDC的例子
DCDC DCAC ACDC STM32 STM8 51 C C# Java Minecraft Mod开发
点赞  2018-4-14 20:54
https://github.com/rikka0w0/CH55x_USB_CDC
窝这个USB_CDC的例子里面有一套Blinkinlabs的sdcc头文件
窝自己加了ch554_platform.h,可以让代码做到SDCC和Keil C51都能编译
注意SDCC和USB包是小端而Keil和SCSI包是大端
ch554_conf.c和ch554_conf.h是初始化和配置时钟之类的,代替了官方库
DCDC DCAC ACDC STM32 STM8 51 C C# Java Minecraft Mod开发
点赞  2018-4-14 20:59
引用: Rikka0w0 发表于 2018-4-14 20:59
https://github.com/rikka0w0/CH55x_USB_CDC
窝这个USB_CDC的例子里面有一套Blinkinlabs的sdcc头文件
窝 ...

谢谢。
点赞  2018-4-17 12:08
引用: Rikka0w0 发表于 2018-4-14 20:59
https://github.com/rikka0w0/CH55x_USB_CDC
窝这个USB_CDC的例子里面有一套Blinkinlabs的sdcc头文件
窝 ...

你那个github中英文最好分成两段写,别混杂在一起,贼难看。
点赞  2018-4-17 12:16
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复