⑴ stc8h8k64u在keil选什么
stc8h8k64u在keil选MCU
为避免之前STC12封装库存在的问题, 这个封装库在以下方面进行了改进
兼容SDCC和Keil C51
FwLib_STC12封装库只支持SDCC编译, 并且寄存器命名与官方不同, 使得基于FwLib_STC12的项目代码与其他Keil开发的项目代码无法兼容.
在FwLib_STC8的开发上, 采用了与官方库文件一致的命名, 并且增加了对Keil C51和SDCC的适配. 基于FwLib_STC8的项目, 可以在linux下使用SDCC编译, 也可以在Windows下使用Keil C51环境进行编译.
减小代码尺寸
FwLib_STC12封装库较多使用函数的方式对寄存器进行封装, 而函数与函数间的层级调用都会增加栈开支, 这样一方面8位MCU本来就不多的内存更加捉襟见肘, 另一方面增加了生成的固件尺寸.
在FwLib_STC8封装库中, 大量使用宏语句对寄存器操作进行封装, 并且控制方法间的层级调用深度, 有效节省了固件体积和堆栈占用。
⑵ 什么情况,而且不能生成HEX文件!谢谢!
代码尺寸超出设备内存的大小限制,
你可能需要修改缩减源码。
前面的朋友提到 Keil 的注册问题,个人推荐 SDCC (Small device C compiler) ,这是一个开源的嵌入式 C 编译器,支持 51,PIC,MCxxx 等设备的编译。我用了很多年了,SDCC 编译的目标码可能不如 Keil C 的紧凑,但效率不是问题,如果真正追求效率的话何不用汇编?Keil C 是商业软件,既然不想付费,那么选择免费的开源产品也是不错的。
单片机的编程语言有三种种:机器语言、汇编语言与高级语言。
机器语言是计算机能够看懂的语言。(形式为一段二进制代码)
5.由于计算机只能看懂机器语言所以无论是汇编语言还是高级语言都需要经过编译成为机器语言才能够执行。
拓展资料
单片机的高级语言
51单片机支持三种高级语言,即PL/M,C和BASIC。C语言是一种通用的程序设计语言,其代码率高,数据类型及运算符丰富,并具有良好的程序结构,适用于各种应用的程序设计,是目前使用较广的单片机编程语言。
单片机的C语言采用C51编译器(简称C51)。有C51产生的目标代码短,运行速度高,所需存储空间小,符合C语言的ANSI标准,生成的代码遵循Intel目标文件格式,而且可与A51汇编语言或PL/M51语言目标代码混合使用
⑷ SDCC编译器警告问题,怎么解决
编译器的警告要认真对待,应该尽量编写没有警告的代码,除非你确切的知道编译器为什么产生警告,以及后果
⑸ 有什么好用的C/C++编译器么推荐下
clang不错
GCC是最好的,没有之一。
编译器几乎没有国产的,国内更少有开源的。
gcc最经典
icc在x86上表现优秀
clang/llvm后起之秀
msvc占据Win
嵌入式/小众的平台:vc6,sdcc,iarcc,keilcc都不错。
欢迎补充
G++编译不错,编辑vsc不错
题主问的应该是C/C++编程软件吧(自带有编译器),下面我以Windows系统为例,简单分享3个非常不错的开发软件,分别是Dev-C++、CodeBlocks和VisualStudio,感兴趣的朋友可以尝试一下:
01
Dev-C++
这是Windows平台下一个非常基础、简单易学的C/C++编程软件,个人使用完全免费,基本功纤行亩能和使用方式与早期的VC6.0非常相似,没有任何自动补全、语法提示和错误检查的功能,因此非常适合初学者,对于入门编码学习来说,非常锻炼基本功,但在开发效率上有些捉襟见肘:
02
CodeBlocks
这是一个免费、开源、跨平台的C/C++编程软件,完美支持3大操作平台,相比较功能单一的Dev-C++,CodeBlocks支持自动补全、代码高亮、语法提示、错误检查等常见功能,除此之外,还自带有许多工程模板,可以快速创建Qt、Win32GUI等应用,因此开发效率更高,也更适合项目集成:
03
VisualStudio
这是Windows系统下一个非常着名的集成开发环境,号称宇宙第一IDE,功能强大,不仅仅是C/C++,常见的C#、VB、python等编程语言,这个软件都能很好兼容,智能补全、语法提示、代码高亮等功能非常不错,除此之外,还支持单元测试、代码重构、代码分析等高级功能,因此开发效率更高,也更适合大型项目,初期接触可能不容易掌握,但熟悉后的确是一个C/C++开发利器,值得学习和使用:
目前就分享这3个Windows环境下不错的C/C++编程软件吧,初学入门的话,建议使用Dev-C++等容易掌握、学习的软件,专注于基本功,多看多练习,熟悉后,可以使用VS、CLion等专业软件,提带丛高开发效率,也方便团队协作和毁森项目管理,当然,除了以上软件,还有许多其他C/C++开发工具,像Linux下的Vim,Mac下的Xcode等也都非常不错,网上也有相关教程和资料,介绍的非常详细,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。
一般可以使用轻量级的codeblocks
或者直接mac或者linux系统的gcc(不使用ide)
如果想使用在线的话
很棒而且可以选择标准⑹ 如何进入安卓手机linux内核
一、需要准备的东西
1
手机必须要Root,没有的度娘解决。
2
首先安装 终端模拟器 软件,稍后有用,度娘一下搞定了。
3
然后是Busybox,这是一款高度集成的Linux小工具集合,也很容易找到,安装好就行。
4
安装android VNC ,用于连接远程桌面。
5
手机内核必须支持loop和ext2文件系统,实践证明ext3,ext4也是可以的。
(1)检验是否支持loop设备
打开 终端模拟器,键入命令 ls /dev/block看是否有loopN设备,N是数字。
(2)ext支持不好确定,多数安卓都支持,毕竟是Linux系统出身嘛,后续交代。
6
由于sourceforge服务器在地球的另一面的美国,所以访问速度自然是不用吐槽的啦,不过还好镜像服务器还是不少的,可以网络搜索sorceforge镜像
选择你喜欢用的系统下载下来吧。
这里要下载两个文件
(1)、镜像文件
有三个版本,完整版(Large)、精简版(smalll)、核心版(core)
可以在服务器相应文件夹下找到zip文件,大小约500MB,解压出来2GB左右。
* 注:完整版和精简版有桌面程序,核心版只有命令行界面
(2)、脚本文件
在相应Linux发行版文件夹里面找到,带script的zip文件就是了,也下载下来。
END
二、后续操作
下载镜像和脚本文件之后在/sdcard上创建一个文件夹,名字与相应的linux发行版名字相同,将下载到的zip文件解压到此处,镜像和脚本都要解压到这个文件夹。
比如笔者的Ubuntu 10.04就是在/sdcard上创建一个名为ubuntu的文件夹,然后把ubuntu.img和ubuntu.sh解压到/sdcard/ubuntu/即可。
然后就是最重要的一步修改脚本了,许多人不成功就是这里没有修改了。
先看一下脚本文件吧!所有的脚本都是差不多的欧!
如图
找到图上第三行的位置,
mount -o remount,rw /dev/block/mmcblk0p5 /system
我们看到这是挂载/system为 可写 状态,但是这里却是挂载的固定是'/dev/block/mmcblk0p5',这肿么可以??要知道安卓的硬件是遍地开花、各式各样都有,/system的所在的设备也各不相同,比如我的是在/dev/block/mmcblk0p19,以前用的是mmcblk0p12,根本不可能统一的
所以我们需要找到/system究竟对应的是那个分区。
方法:给个比较可靠的方法吧,下载一个和你的手机相对应的刷机包,打开\META-INF\com\google\android\updater-script文件,搜索"/dev/block"关键字,找到一条与system相关的一行,看到了这样一行
format("ext4", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/system", "0", "/system");
那个带/dev/block的那个就是你的system分区,用它来替换原来脚本的那一个 /dev/block/mmcblk0p5吧!
我的修改结果是
mount -o remount,rw /dev/block/platform/msm_sdcc.1/by-name/system /system
这里因人而异,不要照搬哦!
然后打开终端模拟器,测试一下
1.输入 su 并回车,获取root权限
2.输入 cd /sdcard/ubuntu 进入脚本文件所在目录,这里ubuntu替换你创建的文件夹名字
3.输入 sh ubuntu.sh ,运行ubuntu系统
到这里理论上是应该成功了
出现图一这样的情况时就要输入分辨率了,我的是1280x720,比较常用的还有800x600等
输入1280x720 ,回车
等待出现 root@localhost:/# 你的Linux已经启动成功啦
终端模拟器以经连接到ubuntu的终端了
但是没有桌面让我们怎样愉快的玩耍呀?
所以打开AndroidVNC,配置一下 参数
Nickname:随便写
Password :你的Linux名称,我的是ubuntu
Address : 因为是本机运行,所以写 localhost 或者 127.0.0.1
Port : 默认5900
Username:root
Color Format : 24-color (4bpp)
然后点击左上角Connect即可
然后就看见了我们期待已久的Ubuntu界面里
但是还有个问题,不支持中文是一个蛋疼的问题啊
所以在安卓系统上找个中文ttf(直接复制/system/fonts/DroidSansFallback.ttf也是可以的)放到/sdcard
进Linux系统后复制字体到
/usr/share/fonts/truetype/ttf-dejavu
重启就能再见到亲切的中文了!
在Linux界面下
1.音量键相当于键盘的上下箭头↑↓
2.双指可以缩放界面,双指滑动可以滚屏
3.按下菜单键-send 可以 触发特殊键 比如 ctrl + alt + delete 关机重启
4.菜单键- Input Mode 可以选择 鼠标操作方式 , 推荐选择touchPad 把触屏当触摸板用
⑺ linux下怎么编译单片机c代码,怎么下载到51单片机上呢
1.编译软件用sdcc
2.sdcc不支持keil51c 的一些语法。要做以下修改:
sbitled1=P1^0; 改为 #define led1 P1_0
中断函数interrupt改为__interrupt
单个位 P1^0 改为P1_0
若vim安装插件YCM的话,要在.ycm_extra_conf.py加入以下两个路径
/usr/share/sdcc/include
/usr/share/sdcc/include/mcs51
没创建一个工程都要拷贝一份.ycm_extra_conf.py到该工程的目录下。
3.编译用命令
` sdcc 目标文件
4.烧录软件用stcflash.py,该软件只能支持stc89c52rc,不支持stc89c52。我自己亲自试过。
sudo python ./stcflash.py 目标文件