搜索
bottom↓
回复: 14

合泰编译器HT-IDE3000除bank0,其他bank的变量都要指定绝对地址

[复制链接]

出0入4汤圆

发表于 2016-9-18 17:28:08 | 显示全部楼层 |阅读模式
合泰编译器HT-IDE3000 V7.91(当前最新版)挺屎的,变量除了BANK0,其他bank的变量都要手动指定绝对地址,这么NC的设计,问了FAE,直接指定bank都不行,一定要指定到具体bank的绝对地址.
如果变量较少,bank0用不完,就不会出现这个问题.

要写成这个样子:static volatile unsigned char abc __attribute__((at(0x580)));
第2个变量变要写成 static volatile unsigned char def  __attribute__((at(0x581)));
地址要自己计算.

有没有好的办法?

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2016-9-18 19:08:51 | 显示全部楼层
FAE都说不行,那也没什么好办法,只能换其它家芯片(如51核).

出0入0汤圆

发表于 2016-9-18 19:12:46 来自手机 | 显示全部楼层
把所有变量都放到结构体里呢,应该只用指定一个地址就行了

出0入4汤圆

 楼主| 发表于 2016-9-18 19:57:49 | 显示全部楼层
liufabing 发表于 2016-9-18 19:08
FAE都说不行,那也没什么好办法,只能换其它家芯片(如51核).

是感觉他们开发编译器的人太屎。。。
这个问题很好处理的。编译器指定总好过程序员指定。

出0入4汤圆

 楼主| 发表于 2016-9-18 19:59:00 | 显示全部楼层
q457344370 发表于 2016-9-18 19:12
把所有变量都放到结构体里呢,应该只用指定一个地址就行了

是个好主意,然后对每个成员变量再宏定义一个别名,就只需要指定一次地址了。。。

出0入8汤圆

发表于 2016-9-19 09:33:15 | 显示全部楼层
laujc 发表于 2016-9-18 19:57
是感觉他们开发编译器的人太屎。。。
这个问题很好处理的。编译器指定总好过程序员指定。 ...

主要是自动切换bank   编译器做的太差   ht-ide3000  V2版的c编译器  有些是支持自动变量分配的,不过切换bank哪里 基本上每个变量都切换一次。代码空间明显变大, 不知道手工指定的,用的时候是不是也是每个变量都切换一次,是的话就有点.......。  V3版的编译器看手册是移植GCC的,但是有些芯片不支持。

出0入8汤圆

发表于 2016-9-19 09:36:01 | 显示全部楼层
本帖最后由 kebaojun305 于 2016-9-19 09:37 编辑

C编译器 ,关键在优化,台湾自己做的 ,优化基本都很差,bug 也不少,这个没有办法(人员不足,也没有太多时间 来整这个),总比用汇编强吧。 所以,现在他们都改变策略了,使用成熟核了,比如原装的51核,pic核 或者arm核。

出0入4汤圆

 楼主| 发表于 2016-9-19 13:46:39 | 显示全部楼层
kebaojun305 发表于 2016-9-19 09:33
主要是自动切换bank   编译器做的太差   ht-ide3000  V2版的c编译器  有些是支持自动变量分配的,不过切 ...

这个变量分配应该在GCC编译这前吧?

出0入8汤圆

发表于 2016-9-19 14:47:56 | 显示全部楼层
本帖最后由 kebaojun305 于 2016-9-19 14:49 编辑
laujc 发表于 2016-9-19 13:46
这个变量分配应该在GCC编译这前吧?


在前,还是在后,就真的没有注意了,你用的芯片 如果支持V3的c编译器   那估计使用V3的编译器可能会好点,毕竟是GCC移植的。 合泰的C编译器有3个版本。

出0入4汤圆

 楼主| 发表于 2016-9-19 15:00:38 | 显示全部楼层
kebaojun305 发表于 2016-9-19 14:47
在前,还是在后,就真的没有注意了,你用的芯片 如果支持V3的c编译器   那估计使用V3的编译器可能会好点 ...

哪3个版本?
是那个V1,V2,V3吗?如何下载到其也版本?在官网上最新的就是V3版本的

出0入8汤圆

发表于 2016-9-19 15:09:28 | 显示全部楼层
laujc 发表于 2016-9-19 15:00
哪3个版本?
是那个V1,V2,V3吗?如何下载到其也版本?在官网上最新的就是V3版本的 ...

在工程设置->工程选项->语言工具中

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入4汤圆

 楼主| 发表于 2016-9-19 17:48:12 | 显示全部楼层
好的,多谢

出0入4汤圆

 楼主| 发表于 2016-9-19 17:50:55 | 显示全部楼层
kebaojun305 发表于 2016-9-19 15:09
在工程设置->工程选项->语言工具中

忘了我的触摸按键库使用的是V3版的,还是不能切换到V2或V1

出0入8汤圆

发表于 2016-9-19 19:06:34 | 显示全部楼层
laujc 发表于 2016-9-19 17:50
忘了我的触摸按键库使用的是V3版的,还是不能切换到V2或V1

合泰的触摸库是V2的吧,V3是GCC移植过来的。 我原来用的合泰的触摸库不支持V3.

出0入4汤圆

 楼主| 发表于 2016-9-19 20:07:10 | 显示全部楼层
kebaojun305 发表于 2016-9-19 19:06
合泰的触摸库是V2的吧,V3是GCC移植过来的。 我原来用的合泰的触摸库不支持V3. ...

FAE给我的是V3的库
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-29 18:28

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表