说明

SDCC:Small Device C Compiler
SDCDB:Small Device C Debugger

apt安装SDCC

  1. 下载sudo apt-get install sdcc
  2. 使用 sdcc --version查看sdcc版本号:
SDCC : mcs51/z80/z180/r2k/r3ka/gbz80/tlcs90/ez80_z80/ds390/TININative/ds400/hc08/s08/stm8/pdk13/pdk14/pdk15 4.0.0 #11528 (Linux)
published under GNU General Public License (GPL)

源码安装SDCC(不建议,可能报错)

  1. 下载命名为SDCC -src-yyyymmdd-rrrr.tar源码包,,也可以点击这里
  2. 解压下载的源码包tar -xvjf sdcc-src-yyyymmdd-rrrr.tar. gz
  3. 进入解压的文件夹,执行
  4. ./configure
  5. make
  6. make install

源码安装会出现的问题

  1. 见man 2.8 Install Trouble-shooting
  2. 由于使用apt进行安装所以不在赘述

SDCC文档(下载见此)

  1. 下载编译好的文档
  2. 阅读文档,主要阅读sdccman.pdf就可以了,也可以进入index.html阅读

写测试程序

char test;
void main(void) {test=0;
}//测试普通编译
#include <string.h>
char str1[10];
void main(void) {strcpy(str1, "testing");
}//测试链接
  • sdcc -c test.c只进行编译和汇编,不进行连接,输出的是asm文件和rel文件
  • sdcc test.c一步到位,直接生成二进制文件

小tips

  1. 查看软件的安装目录:whereis sdcc,一般在/usr/share
  2. 查看软件的执行文件:一般在/usr/bin

SDCC结构

  1. /usr/bin:软件集
  2. /usr/share/sdcc/include :头文件
  3. /usr/share/sdcc/lib :SRC和带有预编译重定位项的目标子目录

SDCC软件集详细说明

  1. sdcc:编译器
  2. sdcpp:预编译器
  3. sdas,sdls:汇编器和链接器
  4. s51,sz80,shc08,sstm8:仿真器
  5. sdcdb:调试器

SDCC编译单个文件

sdcc source.c

SDCC编译输出文件说明

文件后缀 描述
asm 汇编源文件
lst 汇编列表文件
rst 带有linkedit更新的汇编列表文件
sym 源文件的符号列表
rel 目标文件
map 加载模块的内存映射
mem 内存使用总结文件
ihx 使用intel hex格式的加载文件
adb 包含着调试信息的一个中间文件
cdb 包含调试信息的可选文件
omf 包含调试信息的AMOF可选文件

ihx文件的后续处理

packihx sourcefile.ihx >sourcefile.hex:将ihx文件转化成hex文件

多源文件工程

比如说有三个文件 f001.c foo2.c foomain.c,就可以使用如下指令

sdcc -c foo1.c
sdcc -c foo2.c
sdcc foomain.c foo1.rel foo2.rel# 第三步也可以拆解成为2步
#sdcc -c foomain.c
#sdcc foomain.rel foo1.rel foo2.rel

SDCC教程(树莓派 Debian11 bullseye 使用官方下载源)相关推荐

  1. 树莓派 11 bullseye镜像官方源和国内源

    树莓派(CM4) 11 bullseye镜像官方源和国内源 ​ 官方源 /etc/apt/sources.list deb http://raspbian.raspberrypi.org/raspbi ...

  2. 树莓派64位系统官方下载Debian

    https://mirrors.aliyun.com/raspberry-pi-os-images/raspios_arm64/images/ https://developer.aliyun.com ...

  3. PyTorch中文版官方教程来啦(附pdf下载)

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! PyTorch 中文版官方教程来了. PyTorch 是近期最为火爆的深度学习框架 ...

  4. 程序简单教程:飞秋官方下载

    程序简单教程:我有一个习惯,每隔一段时间就喜欢单独呆上一段时间,静静的飞秋官方下载 想自己的心事,那时候常去的是香港路上的美日咖啡和八大关里面的朗园酒吧,经常一坐就是一天.也曾经毫无目的的跳上一辆公交 ...

  5. 实用教程丨官方下载Oracle各版本安装软件及补丁包

    由于还有很多小伙伴不知道在哪里下载安装Oracle数据库软件,所以在这里总结一下官方下载Oracle软件及补丁的渠道和一些注意事项. 由于Oracle的开放下载政策,Oracle的软件下载没有任何限制 ...

  6. Keil uVision5 5.38官方下载、安装及注册教程

    (注:此为乐某学习记录,若有出错的地方欢迎各位指出!) 前言 在安装Keil前,建议安装迅雷,用迅雷来下载会快很多.如果网络好可以无视. 官方C51版本下载地址:https://www.keil.co ...

  7. 苹果itunes官方下载教程

    itunes是一款苹果应用的同步软件,也是一款非常强大的播放器软件,但很多人都不知道如何从苹果官方下载itunes软件?itunes的下载其实也是非常简单,下面就以图文的方式为大家演示苹果itunes ...

  8. mysql官方下载安装教程(centos)

    mysql官方下载安装教程 https://dev.mysql.com/downloads/mysql/

  9. php5.0 cms安装教程,MySQL_KingCMS5.0从安装到设置使用教程,1.首先到KingCMS官方下载KingCMS5.0 - phpStudy...

    1.首先到KingCMS官方下载KingCMS5.0程序,下载地址http://www.kingcms.com/download/ 2.解压到本地目录,安装包内包括admin,page,templat ...

最新文章

  1. 多分类任务的混淆矩阵
  2. opencv内存管理详解
  3. EasyUI 分页 偶遇 问题
  4. PhantomJS 与python的结合
  5. 20165232 缓冲区溢出漏洞实验
  6. 简单,方便,功能全的php分页类
  7. websocket 连接本地端口_Web应用架构WebSocket 协议介绍
  8. ubuntu 开启ipv6_如何在Ubuntu服务器上重新启用IPv6?
  9. 管理后台--1.创建分类
  10. 命令行模式下几个网络命令详解
  11. HttpRunnerManager接口自动化测试框架在win环境下搭建教程
  12. Docker 基础技术之 Linux namespace 详解
  13. [渝粤教育] 武汉理工大学 复变函数与积分变换 参考 资料
  14. 系统分析与设计学习笔记(一)
  15. 二分查找递归解法(java)
  16. Win10硬盘安装器(WinNTSetup 64位) v3.9.4 中文绿色版
  17. JAVA仿微博系统(JAVA毕业设计含源码和运行教程)
  18. 微软电脑管家登陆微软商店 简单无打扰 支持杀毒和垃圾清理等
  19. 忧伤,捧一把尘埃将自己埋葬
  20. 删除K个数字,使剩下的数字串最大(最大数字)

热门文章

  1. 超简单VideoView播放网络视频和本地视频
  2. vsftpd设置被动模式_Vsftp安装及配置主动模式/被动模式
  3. 命里有时终须有与我命由我不由天
  4. 爬取Google patent上公司所有专利
  5. php文件批量改名,php批量重命名_PHP教程
  6. SQL 面试题:WHERE 和 HAVING、ON 有什么区别?
  7. 硬齿面齿轮减速机与软齿面的区别
  8. 《LabVIEW数据采集》视频教程第18集:数值型数据—无符号整形数
  9. SolidWorks添加焊件库的方法
  10. JS 大文件分割上传