X
首页
技术
模拟电子
单片机
半导体
电源管理
嵌入式
传感器
最能打国产芯
应用
汽车电子
工业控制
家用电子
手机便携
安防电子
医疗电子
网络通信
测试测量
物联网
最能打国产芯
大学堂
首页
直播
专题
TI 培训
论坛
汽车电子
国产芯片
电机驱动控制
电源技术
单片机
模拟电子
PCB设计
电子竞赛
DIY/开源
嵌入式系统
医疗电子
颁奖专区
【厂商专区】
【电子技术】
【创意与实践】
【行业应用】
【休息一下】
最能打国产芯
活动中心
直播
发现活动
颁奖区
电子头条
参考设计
下载中心
分类资源
文集
排行榜
电路图
Datasheet
最能打国产芯
stm32/stm8
STM8S编译设置问题
jimfoss
2010-5-17 17:14
楼主
程序很简单,LCD显示,定义了一个常量数组,数组大小为40K(40960字节);
u8 const cArray1[]=……;
芯片STM8S207SB,程序>32K,选择了modsl,编译可以通过,但是仿真时看不到显示,像是跑飞了;数组改小后可以正常显示。
找了下关于>32K编译的贴子,也没试出来。
哪位指点一二,TKS。
点赞
回复评论 (19)
沙发
pmns
1.编译可以通过,最好在检查链接是否正确,可以看.map文件。
2.可以在main()的第1行设置断点,看是否能停下来
点赞
2010-5-17 17:21
板凳
jangseohee
停不下来!
点赞
2010-5-17 18:34
4楼
arthas
今天我也遇到同样的问题,没有搞定。关注中。
点赞
2010-5-17 20:13
5楼
ywmcu8
DEBUG编译选项没有打开吧,STVD默认是不打开的。
这样只能在汇编代码中设断点。
点赞
2010-5-17 22:30
6楼
hxjd
main()第一行中断没问题,运行到打开中断时,产出中断,程序指针就乱了,不过乱的很有规律,本来是要跳到0x012344,可实际是到了0x2344,前面的1没了。我用的选项是modsl+crtsi.sm8,并取消-gnc(加上-gnc之后会在link时产生section cross错误)。
点赞
2010-5-18 12:53
7楼
cjxxzj
我的选项也是用的modsl+crtsi.sm8;
STVD+COSMIC;
程序>64K;需要什么特殊设置吗?哪位说说啊
点赞
2010-5-18 13:53
8楼
high47
用crtsi.sm8可能不对,改成 crtsxf.s 试试看.
点赞
2010-5-18 14:03
9楼
fanqiaqi
crtsxf.s也试了,结果是一样的。另外我认为用crtsi.sm8没有问题,我的.const都是在前32KB,并且只有2KB左右。
点赞
2010-5-18 14:15
10楼
小牛b
我看到有不少这方面的帖子,但都没有解决,看来这个问题还是有一定的典型性的,热切希望版主主能关注一下。
点赞
2010-5-18 14:17
11楼
245016767
给你2个相关帖子链接:
STM8程序超过了32K,怎么办,编译报错
;
stm8 cosmic 使用常用问题集锦
点赞
2010-5-18 14:40
12楼
evildoor
还有一个:
STM8用Cosmic+STVD编译不能超过32K
点赞
2010-5-18 14:43
13楼
lzg123456
我看到有不少这方面的帖子,但都没有解决,看来这个问题还是有一定的典型性的,热切希望版主主能关注一下。
确实比较典型,好好儿找找就有,我搜索了一下,很多帖子都有解决方案,这里还有一个:
求助:STM8的 “32K” 门槛如何跨过?
点赞
2010-5-18 15:05
14楼
1742
————————————————————————————————————————
it.h中的 //void _stext(void); /* RESET startup routine */
屏蔽掉,
还要保证所有的const变量在32K范围内,我是强制把const放在16K之类
————————————————————————————————————————
我看到很多帖子都说要把const变量放在32K以内;
我也只是仅仅定义了一个40K大小的常量数组,就出现了这种问题,奇怪了。
点赞
2010-5-18 15:59
15楼
187221887
我的问题搞定了。原因有2个方面:
一、中断函数的定义原来是@near,要改成@far。我是用ST提供的1..0.1版的库开发的项目,现在改成1.1.1版的库,修正的就是这个问题。
二、我用的cosmic的编译器是破解版的,可能是没完全搞定。我借了一个正版的用了,一切都正常了。
我也想用正版的,于是拿起电话咨询了代理商,结果是折扣之后还要2W,。。。。买不起。要是5K我会买的。
坛子里那位有不用了的正版,便宜点处理给我。
huhuhu_1@163.com
点赞
2010-5-18 16:41
16楼
lijinhoo
————————————————————————————————————————
it.h中的 //void _stext(void); /* RESET startup routine */
屏蔽掉,
还要保证所有的const变量在32K范围内,我是强制把const放在16K之类
————————————————————————————————————————
上面的说法是错误的,会编译通过,但程序是不能正常运行的,因为你屏蔽的是程序的初始化入口。实际测试也如我所说。
点赞
2010-5-18 16:49
17楼
zhou159
你将你搞定的程序能不能用石皮解版再编译一下试试,看看是否可行?
如果可行,说明是(一)的设置问题;
否则就需要正版了。
点赞
2010-5-19 14:58
18楼
zachy
多设几个断点
点赞
2010-5-19 19:35
19楼
1291257128
烧写进去后,显示是否正常
点赞
2010-5-19 21:07
20楼
hahatoday
问题已经解决,请版主锁贴。
感谢大家关注,特别感谢“huhuhu_1”,参照他的办法解决问题。
我做了以下改正:
1:更新了STM8的库为1.1.1(之前使用的是1.0的库)。
2:更换了其它版本的编译器COSMIC(之前使用的是PJ版,现在换了个另外的PJ…同时倡议:在经济允许的情况下,请支持正版)。
3:配置:modsl+crtsxf.sm8(可以参考《CXSTM8_UsersGuide》等)。
希望后面的兄弟少走弯路。
点赞
2010-5-20 11:41
最新活动
免费申请 | 上百份MPS MIE模块,免费试用还有礼!
TI 有奖直播 | 使用基于 Arm 的 AM6xA 处理器设计智能化楼宇
Follow me第二季第3期来啦!与得捷一起解锁高性能开发板【EK-RA6M5】超能力!
报名直播赢【双肩包、京东卡、水杯】| 高可靠性IGBT的新选择——安世半导体650V IGBT
30套RV1106 Linux开发板(带摄像头),邀您动手挑战边缘AI~
安世半导体理想二极管与负载开关,保障物联网应用的稳健高效运行
随便看看
用LDV4仿真,产生的波形出错
WINCE5.0 跨进程注入DLL
用MSP430F149的SPI驱动LDC1000读出来全是0
准备开始玩MSP430 LaunchPad触摸板
请问Wince5.0 Remote Tool无法连接
学51单片机从汇编好还是C好
想找个人带着一起学6678,有可能吗
EEWORLD大学堂----直播回放:自动驾驶与人工智能的起点——毫米波雷达与3D ToF 解决方案
开关电源设计
求“基于VHDL的数字频率计设计和制作”的论文或相关资料
在用MSP430编程时,想得到浮点数的整数和小数部分
esp8266用oled播放在线视频
安防监控多路远距离传输问题
LDMOS为啥没加栅极电压,就导通了?
EEWORLD大学堂----直播回放: NXP 恩智浦基于 i.MX RT106F 的人脸识别技术解决方案
通信原理
PADS_Layout四层板设置简明教程
vhdl语言例程集锦
使用430F437发现32K晶体起振速度很慢,引起LCD显示开机不正常。
目前最火的嵌入式CPU是什么?
电子工程世界版权所有
京B2-20211791
京ICP备10001474号-1
京公网安备 11010802033920号
回复
写回复
收藏
回复