搜索
bottom↓
回复: 5

请教shell下面的那个数据section FSymTab ,在mdk下面是怎么建立起来的啊。

[复制链接]

出0入0汤圆

发表于 2012-1-19 12:13:01 | 显示全部楼层 |阅读模式
请教shell下面的那个数据section FSymTab ,在mdk下面是怎么建立起来的啊。

看代码
#ifdef __CC_ARM                 /* ARM C Compiler */
    extern int FSymTab$$Base;
    extern int FSymTab$$Limit;
    extern int VSymTab$$Base;
    extern int VSymTab$$Limit;
        finsh_system_function_init(&FSymTab$$Base, &FSymTab$$Limit);

是说有了FSymTab$$Base,&FSymTab$$Limit 就一定有FSymTab这个section 了么?

不需要类似 AREA    FSymTab, DATA, READONLY 这样一下么

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

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

出0入0汤圆

发表于 2012-1-19 12:57:43 | 显示全部楼层
#define FINSH_FUNCTION_EXPORT(name, desc)                                         \
                const char __fsym_##name##_name[] = #name;                                         \
                const char __fsym_##name##_desc[] = #desc;                                         \
                const struct finsh_syscall __fsym_##name SECTION("FSymTab")= \
                {                                                        \
                        __fsym_##name##_name,        \
                        __fsym_##name##_desc,        \
                        (syscall_func)&name                \
                };
这里在调用的时候会定义一些数据,这些数据都是放在FSymTab中的,在MDK下面会直接生成这个section,
当然还得设置链接参数--keep,不然会被链接器去除掉。
extern int FSymTab$$Base;
    extern int FSymTab$$Limit;
    extern int VSymTab$$Base;
    extern int VSymTab$$Limit;
这些变量是编译器定义的,只要声明下就可以使用的,不声明的话是不会定义的。

出0入0汤圆

 楼主| 发表于 2012-1-19 13:10:24 | 显示全部楼层
感谢回复,

我想问一下,在MDK里面,是不是所有类似定义

int XXX __attribute__((section(abc))) 就可以自动新生成一个abc 的 section,然后编译器就会自动出现abc$$Base 和abc$$Limit这两个符号?

而不用先定义一下abc这个section的属性,比如大小(SPACE),readonly 还是readwrite等等。

出0入0汤圆

发表于 2012-1-21 13:28:02 | 显示全部楼层
不需要,当然你也可以在链接脚本里面指定链接位置和大小,不然就是编译器自己处理的。

出0入0汤圆

发表于 2012-2-14 09:12:50 | 显示全部楼层
读了楼主很久以前的一个帖子,关于“调用Luminary 提供的库文件导致 Fault_ISR”,恳请楼主分享一下经验,最后你的那个问题是怎么解决的,我已经被这个问题折磨三个月了,我还不像楼主那样能准确的进入Fault_ISR,我的程序主要是实现刷IC卡将IC卡数据上传到主机,并进行相关操作,在某一次刷卡后要执行操作时程序就莫名奇妙的会进入Fault_ISR,网上始终没有找到一个合适的解决方法,希望楼主能指点一二,在此等候您的指点了。

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-5-29 19:56

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

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