⑴ C语言与单片机C语言的区别 急求
单片机c语言比起普通C语言增加了一些基本的指令,变量的赋值是16进制,当然单片机c语言只牵涉到普通c语言的基础部分。具体体现在:
1、单片机中C的语法一般都对 ANSI C有些扩展,及一些特殊写法 如C51扩展的 data xdata bit sbit 一类的,还有一些中断程序写法 void int() interrput 1 一类的。
2、C是一门语言,由对应平台的编译器编译成对应平台汇编的程序,各平台的汇编不一样,当然编译器也不一样 DOS上的TC2 TC3 WINDOWS上的VC 8051的C51都有自已的编译器 。具体区别是由编译器决的,只能参考对应的编译手册,即使同种平台不同的编译器对C的扩展也有不同。
3、单片机c语言编程是基于C语言的单片机编程。单片机的C语言采用C51编译器(简称C51)。由C51产生的目标代码短,运行速度高,存储空间小,符合C语言的ANSI标准,生成的代码遵循Intel目标文件格式,而且可与A51汇编语言PL/M51语言目标代码混合使用。
C51本质就是C,是为在单片机上使用C而出来的,如果C不牢固,还是多掌握一点C再学C51,不过新增的知识也不少,而且基本上跟C无关。
4、C只是一种高级语言。它除具有一般高级语言的功能特性外,它可以很好的操作底层的硬件接口。在C语言的基础上,如果你把一些单片机的端口或特殊功能寄存器加于定义,使之方便于在 写语句的时候,直接直观的编写。这样就差不多是单片机C语言。
C语言的特性差不多都可以用于单片机C语言,因为它们的编译机理都是一样的。

(1)gcc编译器可以用于单片机吗扩展阅读:
C语言:
C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。
其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。
单片机的C语言:
单片机软件设计使用C语言作为编程开发软件,采用模块化的程序结构,设计了按键模块程序、RFID模块程序、日历时钟模块程序、GPRS模块程序、显示存储模块程序等,并编写系统主程序,将五个程序模块组合在一起,实现单片机控制系统的整体功能。
51单片机支持三种高级语言,即PL/M,C和BASIC。C语言是一种通用的程序设计语言,其代码率高,数据类型及运算符丰富,并具有良好的程序结构,适用于各种应用的程序设计,是目前使用较广的单片机编程语言。
单片机的C语言采用C51编译器(简称C51)。有C51产生的目标代码短,运行速度高,所需存储空间小,符合C语言的ANSI标准,生成的代码遵循Intel目标文件格式,而且可与A51汇编语言或PL/M51语言目标代码混合使用
C语言-网络
单片机C语言-网络
⑵ 交叉编译器的举例
交叉编译
1、在Windows PC上,利用ADS(ARM开发环境),使用armcc编译器,则可编译出针对ARM CPU的可执行代码。
2、在linux PC上,利用arm-linux-gcc编译器,可编译出针对Linux ARM平台的可执行代码。
3、在Windows PC上,利用cygwin环境,运行arm-elf-gcc编译器,可编译出针对ARM CPU的可执行代码。
4、在Windows系统上,利用Keil Uvison工具,开发出运行在89C51单片机上的程序。
5、在Windows系统上,利用CodeWarrior IDE工具,开发出运行在Freescale XS128单片机上的程序。

⑶ gcc编译器和嵌入式keil的C51编译器有什么不
前者是通用的C语言编译器,后者相当于是个定制版。C51中定义了一些原先C语言中没有的类型以及寄存器定义、同时鉴于单片机通常只有几KB的内存空间进行了代码生成量优化,专门用于单片机的开发,这些都是在GCC这样标准的ANSI C编译器中所没有的。
⑷ Clion开发STM32单片机配置教程(野火指南者,STlink)
Clion开发STM32单片机配置教程如下:
一、配置建议
- 调试器选择:建议使用官方支持的通用调试器,如STlink,避免使用如野火DAP等不支持COSIS调试器的设备。
- 路径设置:确保开发环境路径中不出现中文字符,以避免潜在的问题。
- 调试环境:成功搭建调试环境能显着提高开发效率,因此务必仔细配置每一步。
二、配置步骤
- 下载并安装Clion:Clion是Jetbrain公司开发的C编译器,提供现代编译器支持的多项功能。
- 下载STM32CubeMX:ST官方用于生成HAL库模板的程序软件,提供一键配置初始化功能。
- 下载OpenOCD:用于连接调试器的服务软件,支持多种调试器,包括STlink。
- 下载armnoneeabigcc:适用于生成单片机.hex程序的编译器。
- 新建并配置STM32CubeMX工程:
- 在Clion中打开新建项目。
- 在CubeMX中选择实际使用的芯片型号。
- 配置GPIO口、系统时钟、调试方式等。
- 修改文件生成位置,并勾选生成.c/.h文件。
- 生成文件并确保覆盖Clion自动生成的文件。
三、配置工具链
- C编译器设置为armnoneeabigcc中bin下的gcc.exe。
- C++编译器设置为armnoneeabigcc中bin目录下的g++.exe。
- 根据项目需求,可选择性地修改Cmake配置。
四、调试设置
- 删除Cmake application,添加OpenOCD Download Run配置。
- 设置Debug为bundled GDB,并根据调试器型号新建配置文件。
- Download选项设置为Always,以确保在调试时始终下载程序到单片机。
五、运行与调试
- 运行项目时,若报错,检查链接脚本及工具链配置是否正确。
- 如遇到特定错误,尝试调整配置或更换GDB驱动,通常可解决问题。
完成以上步骤后,即可成功配置Clion用于STM32单片机的开发。