用keil for arm下载 软件编写程序.出现空间不足,请问该怎么修改

21ic官方微信
后使用快捷导航没有帐号?
查看: 5017|回复: 20
最近发现学习ARM和Keil for ARM最好的从软件自带的例程开始
&&已结帖(20)
主题帖子积分
主题帖子积分
专家等级:结帖率:91%
主题帖子积分
以前搞51,用顺了printf函数,而用在ARM平台上折腾,虽有仿真器联机调试,但没这函数总是不顺手,照着老办法重定义putchar函数后,想当然应该能用printf了,哪知下载到芯片中,死气沉沉,郁闷,网上搜一搜,没有搞明白,回头翻翻Keil的安装文件夹,找到一个blinky的例程,其中正如带有Printf,大喜,遂依葫芦画瓢,可然成功,原来这MDK要重载以下函数才能实现Printf。
// Implementation of sendchar (also used by printf function to output data)
& &int sendchar (int ch) {& && && && && &&&// Write character to Serial Port
& &while (!(U0LSR & 0x20));
&&return (U0THR = ch);
int getkey (void)&&{& && && && && && && &// Read character from Serial Port
&&while (!(U0LSR & 0x01));
&&return (U0RBR);
#pragma import(__use_no_semihosting_swi)
extern int&&sendchar(int ch);& && && &&&/* Defined in Serial.c& && && && && & */
struct __FILE {
&&& && && && && && && && && &/* Add whatever you need here& && && &*/
int fputc(int ch, FILE *f) {
&&return (sendchar(ch));& && && && && & /* Retarget fputc to serial UART& && &*/
void _sys_exit(int return_code) {
&&for (;;);& && && && && && && && && &&&/* Endless loop& && && && && && && &&&*/
最关键的是要能搞出个fputc函数给printf用,呵呵,搞复杂了,还不如原来的简单,原来51平台只占1K,这个printf一用,代码立即附加2K多,还好ARM程序空间大。
, , , , , , , , ,
满意回复+5
虽然可以使用printf了,别以为就此“顺手”到底了,因为这还是需要一个串口啊,在本本上还是嫌不顺手,要更顺手怎么办?用半主机啊。 ...
11# 古道热肠
/viewthread.php?tid=228772&highlight=
/viewthread.php?tid=228772&highlight=
折腾无极限~~~
ARM的东西比51 PIC的东西多了先多,可以一个模块的寄存是就是原先51的好几倍。
官方的一般都是成熟的,拿来比较好!! ...
Semihosting的printf和scanf是通过JTAG口走的,在IAR里面可以用Terminal I/O窗口看到printf输出,也可以做这个窗口给scanf发送数据,MDK应该也有同样的功能。 ...
看软件自带的文档和例程是首要的功课,升级得靠网络和自己。只要有耐心,英文好,基本上没有找不到的解决方案。 ...
以VS1003B和山景SOC芯片为背景,倾心研制数字化语音录放产品.
排忧邮箱:xg_2004_
得意之作是做了个AVR高压编程器,用起来爽歪歪,
串口MP3录放音模块,全面进入数字录放音时代
主题帖子积分
主题帖子积分
专家等级:结帖率:99%打赏:0.00受赏:2.00
主题帖子积分
ARM的东西比51 PIC的东西多了先多,可以一个模块的寄存是就是原先51的好几倍。
& &官方的一般都是成熟的,拿来比较好!!
说的好听点 我万事略懂。其实我什么都不会。
主题帖子积分
技术总监, 积分 39647, 距离下一级还需 10353 积分
技术总监, 积分 39647, 距离下一级还需 10353 积分
主题帖子积分
专家等级:结帖率:3%
主题帖子积分
技术总监, 积分 39647, 距离下一级还需 10353 积分
技术总监, 积分 39647, 距离下一级还需 10353 积分
ARM的东西比51 PIC的东西多了先多,可以一个模块的寄存是就是原先51的好几倍。
& &官方的一般都是成熟的,拿来比较好!!
Ryanhsiung 发表于
不明白,寄存器多好吗
主题帖子积分
资深工程师, 积分 16588, 距离下一级还需 3412 积分
资深工程师, 积分 16588, 距离下一级还需 3412 积分
主题帖子积分
专家等级:结帖率:96%
主题帖子积分
资深工程师, 积分 16588, 距离下一级还需 3412 积分
资深工程师, 积分 16588, 距离下一级还需 3412 积分
折腾无极限~~~
学习chunyang和maychang两位老师,努力练好基本功。
学习HOT大叔,学好“Cortex-M0”,做“Cortex-M0”之菜鸟。
主题帖子积分
主题帖子积分
专家等级:结帖率:91%
主题帖子积分
不明白,寄存器多好吗
ayb_ice 发表于
ARM的优势是它的存储器地址寻址空间上升到32位,与硬件相关的控制、状态、数据寄存器搞它几个百个也是沧海一栗。
地址空间受限是8位单片机的软肋,早点PC用的16位CPU芯片8086为了寻址1M空间,搞得地址切换很麻烦,
哈哈,到如今32位ARM大行其道,感觉大地如此的广阔,再也不为存储空间不够而犯愁了。
以VS1003B和山景SOC芯片为背景,倾心研制数字化语音录放产品.
排忧邮箱:xg_2004_
得意之作是做了个AVR高压编程器,用起来爽歪歪,
串口MP3录放音模块,全面进入数字录放音时代
主题帖子积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
ARM的优势是它的存储器地址寻址空间上升到32位,与硬件相关的控制、状态、数据寄存器搞它几个百个也是沧海一栗。
地址空间受限是8位单片机的软肋,早点PC用的16位CPU芯片8086为了寻址1M空间,搞得地址切换很麻烦,
古道热肠 发表于
主题帖子积分
高级工程师, 积分 6524, 距离下一级还需 1476 积分
高级工程师, 积分 6524, 距离下一级还需 1476 积分
主题帖子积分
专家等级:结帖率:100%打赏:0.00受赏:0.10
主题帖子积分
高级工程师, 积分 6524, 距离下一级还需 1476 积分
高级工程师, 积分 6524, 距离下一级还需 1476 积分
虽然可以使用printf了,别以为就此“顺手”到底了,因为这还是需要一个串口啊,在本本上还是嫌不顺手,要更顺手怎么办?用半主机啊。
主题帖子积分
中级技术员, 积分 282, 距离下一级还需 18 积分
中级技术员, 积分 282, 距离下一级还需 18 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
中级技术员, 积分 282, 距离下一级还需 18 积分
中级技术员, 积分 282, 距离下一级还需 18 积分
主题帖子积分
中级工程师, 积分 4542, 距离下一级还需 458 积分
中级工程师, 积分 4542, 距离下一级还需 458 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
中级工程师, 积分 4542, 距离下一级还需 458 积分
中级工程师, 积分 4542, 距离下一级还需 458 积分
看软件自带的文档和例程是首要的功课,升级得靠网络和自己。只要有耐心,英文好,基本上没有找不到的解决方案。
主题帖子积分
主题帖子积分
专家等级:结帖率:91%
主题帖子积分
虽然可以使用printf了,别以为就此“顺手”到底了,因为这还是需要一个串口啊,在本本上还是嫌不顺手,要更顺手怎么办?用半主机啊。
john_lee 发表于
请教什么叫“半主机”,不妨多多指教,在此先行谢过!
prinf函数可以将程序中的所有变量内容轻松的转换成字符串通过串口发送到PC机上,用串口调试助手看得明明白白,俺就喜欢用它。
以VS1003B和山景SOC芯片为背景,倾心研制数字化语音录放产品.
排忧邮箱:xg_2004_
得意之作是做了个AVR高压编程器,用起来爽歪歪,
串口MP3录放音模块,全面进入数字录放音时代
主题帖子积分
主题帖子积分
专家等级:结帖率:91%
主题帖子积分
printf还有一个兄弟sprintf 函数,可将生成的内容先送到数据缓冲区中,然后将缓冲区的内容送显示或打印等都很舒坦,真是爽歪歪。
以VS1003B和山景SOC芯片为背景,倾心研制数字化语音录放产品.
排忧邮箱:xg_2004_
得意之作是做了个AVR高压编程器,用起来爽歪歪,
串口MP3录放音模块,全面进入数字录放音时代
主题帖子积分
资深工程师, 积分 16307, 距离下一级还需 3693 积分
资深工程师, 积分 16307, 距离下一级还需 3693 积分
主题帖子积分
专家等级:结帖率:22%打赏:8.00受赏:10.00
主题帖子积分
资深工程师, 积分 16307, 距离下一级还需 3693 积分
资深工程师, 积分 16307, 距离下一级还需 3693 积分
此id已冬眠...
主题帖子积分
中级工程师, 积分 4348, 距离下一级还需 652 积分
中级工程师, 积分 4348, 距离下一级还需 652 积分
主题帖子积分
专家等级:结帖率:38%打赏:0.00受赏:1.00
主题帖子积分
中级工程师, 积分 4348, 距离下一级还需 652 积分
中级工程师, 积分 4348, 距离下一级还需 652 积分
Semihosting的printf和scanf是通过JTAG口走的,在IAR里面可以用Terminal I/O窗口看到printf输出,也可以做这个窗口给scanf发送数据,MDK应该也有同样的功能。
上联:subway railway highway,way way to die
下联:investigator officer announcer,sir sir to lie
横批:welcome to china
主题帖子积分
主题帖子积分
专家等级:结帖率:91%
主题帖子积分
呵呵,根据网友提示,学了一下半主机模式,顺便BaiDu了相关内容如下:
  半主机是用于 ARM 目标的一种机制,可将来自应用程序代码的输入/输出请求传送至运行调试器的主机。 例如,使用此机制可以启用 C 库中的函数,如 printf() 和 scanf(),来使用主机的屏幕和键盘,而不是在目标系统上配备屏幕和键盘。   这种机制很有用,因为开发时使用的硬件通常没有最终系统的所有输入和输出设备。 半主机可让主机来提供这些设备。   半主机是通过一组定义好的软件指令(如 SVC)来实现的,这些指令通过程序控制生成异常。 应用程序调用相应的半主机调用,然后调试代理处理该异常。 调试代理提供与主机之间的必需通信。   半主机接口对 ARM 公司提供的所有调试代理都是通用的。 在无需移植的情况下使用 RealView ARMulator ISS、指令集系统模型 (ISSM)、实时系统模型 (RTSM)、RealView ICE 或 RealMonitor 时,会执行半主机操作,请参阅Figure 8.1。   在很多情况下,半主机由库函数内的代码调用。 应用程序还可以直接调用半主机操作。 有关 ARM C 库中的半主机支持的详细信息,请参阅《库和浮点支持指南》中的第 2 章 C 和 C++ 库。   Figure 8.1. 半主机概述
  ARMv7 之前的 ARM 处理器使用 SVC 指令(以前称为 SWI 指令)进行半主机调用。 但是,如果要为 ARMv6-M 或 ARMv7-M(如 Cortex(TM)-M1 或 Cortex-M3 处理器)进行编译,请使用 BKPT 指令来实现半主机。
以VS1003B和山景SOC芯片为背景,倾心研制数字化语音录放产品.
排忧邮箱:xg_2004_
得意之作是做了个AVR高压编程器,用起来爽歪歪,
串口MP3录放音模块,全面进入数字录放音时代
主题帖子积分
助理工程师, 积分 1992, 距离下一级还需 8 积分
助理工程师, 积分 1992, 距离下一级还需 8 积分
主题帖子积分
专家等级:结帖率:91%
主题帖子积分
助理工程师, 积分 1992, 距离下一级还需 8 积分
助理工程师, 积分 1992, 距离下一级还需 8 积分
主题帖子积分
实习生, 积分 42, 距离下一级还需 8 积分
实习生, 积分 42, 距离下一级还需 8 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
实习生, 积分 42, 距离下一级还需 8 积分
实习生, 积分 42, 距离下一级还需 8 积分
学习万岁!!!
主题帖子积分
初级技术员, 积分 724, 距离下一级还需 -624 积分
初级技术员, 积分 724, 距离下一级还需 -624 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
初级技术员, 积分 724, 距离下一级还需 -624 积分
初级技术员, 积分 724, 距离下一级还需 -624 积分
主题帖子积分
初级技术员, 积分 724, 距离下一级还需 -624 积分
初级技术员, 积分 724, 距离下一级还需 -624 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
初级技术员, 积分 724, 距离下一级还需 -624 积分
初级技术员, 积分 724, 距离下一级还需 -624 积分
主题帖子积分
初级技术员, 积分 724, 距离下一级还需 -624 积分
初级技术员, 积分 724, 距离下一级还需 -624 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
初级技术员, 积分 724, 距离下一级还需 -624 积分
初级技术员, 积分 724, 距离下一级还需 -624 积分
主题帖子积分
初级技术员, 积分 724, 距离下一级还需 -624 积分
初级技术员, 积分 724, 距离下一级还需 -624 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
初级技术员, 积分 724, 距离下一级还需 -624 积分
初级技术员, 积分 724, 距离下一级还需 -624 积分
技术奇才奖章
人才类勋章
核心会员奖章
等级类勋章
坚毅之洋流
发帖类勋章
时间类勋章
荣誉元老奖章
等级类勋章
技术领袖奖章
人才类勋章
时间类勋章
技术高手奖章
人才类勋章
无冕之王奖章
等级类勋章
沉静之湖泊
发帖类勋章
技术导师奖章
人才类勋章
突出贡献奖章
等级类勋章
社区建设奖章
等级类勋章
湍急之河流
发帖类勋章
热门推荐 /5keil_MDK建立工程步骤方法_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
keil_MDK建立工程步骤方法
上传于||文档简介
&&k​e​i​l​_​M​D​K​建​立​工​程​步​骤​方​法
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
下载文档到电脑,查找使用更方便
还剩18页未读,继续阅读
你可能喜欢热门日志推荐
人人最热标签
分享这篇日志的人常去
北京千橡网景科技发展有限公司:
文网文[号··京公网安备号·甲测资字
文化部监督电子邮箱:wlwh@··
文明办网文明上网举报电话: 举报邮箱:&&&&&&&&&&&&
请输入手机号,完成注册
请输入验证码
密码必须由6-20个字符组成
下载人人客户端
品评校花校草,体验校园广场keil for arm出现空间不足,怎么办_百度知道
keil for arm出现空间不足,怎么办
提问者采纳
我来为您解答,改大点就好了。  希望我的回答对你有帮助,要么换一个RAM大一些的芯片:  看一下空间分配,要么优化代码 .  LM3S101芯片的ram大小只有2KB   您好
来自团队:
其他类似问题
为您推荐:
keil的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁您所在的位置:
&Keil uVision(ARM嵌入式开发工具单片机编程软件)V4.74.0.22官方下载
点击查看大图
大小:544.5 MB
语言:英文
授权:试用软件
Keil uVision 4软件介绍
Keil uVision4是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,使用接近于传统c语言的语法来开发。keil uvision4单片机编程软件可以帮助嵌入式开发者更好地去开发ARM。与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用,而且大大的提高了工作效率和项目开发周期,他还能嵌入汇编,您可以在关键的位置嵌入,使程序达到接近于汇编的工作效率。Keil uVision4特点:完全支持Cortex - M系列的Cortex - R4,ARM7,ARM9器件业界领先的ARM C / C + +编译工具链μVision4IDE,调试器和仿真环境KEIL RTX的确定性,占地面积小,实时操作系统(源代码)TCP/ IP网络套件提供了多种协议和各种应用USB设备和USB主机栈提供了标准的驱动程序类ULINKpro使上运行的应用程序和记录的即时分析每一个执行的Cortex- M指令完成有关程序的执行代码覆盖率信息执行事件探查器和性能分析器使方案的优化众多的范例项目,帮助你迅速成为熟悉与MDK - ARM的功能强大,内置功能CMSIS的皮质Microcontoller软件接口标准兼容
Keil uVision 4相关下载
Keil uVision 4下载地址
1141062次下载
719818次下载
444452次下载
1179814次下载
41538次下载
233588次下载
104429次下载
205701次下载
172573次下载
338917次下载
1221942次下载
1179814次下载
1141062次下载
719818次下载
565618次下载
511652次下载
508114次下载
444452次下载
418559次下载
398682次下载
热门关键字
扫红码得红包5亿红包100%中奖

我要回帖

更多关于 keil for arm下载 的文章

 

随机推荐