微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI模拟硬件电路设计 > 如何访问程序空间的数据表啊 高手指点下

如何访问程序空间的数据表啊 高手指点下

时间:10-02 整理:3721RD 点击:
关于常量的植不能正确取出问题 高手请看下

我将CONST 定义程序空间内 然后

const unsigned int bbb={1,2,3,4,5};

main(void)
{
unsigned int i;

i=bbb[0];
}

变量 i 不能得到正确的值, 但如果CONST 定义在RAM区就可以,将请高手指点下解决的办法。我需要将数据表放在程序区

    用汇编语言写一个函数,用来读取程序空间中的数据表,这种方法可以接受吗?

    我是用汇编单独写一个文件,包含数据表和查表的函数,然后由C程序来调用。完全用C写比较理想,但是没找到在C中读取程序空间中数据表的方法。

C语言调用汇编的子程序,汇编语言应该怎么写,我写的汇编语言代码为什么不能正常退出?多谢!

代码如下:

.global _datasample,_ReadSample
.ref _datasample
.text
_ReadSample:
        POPD *+
        SAR AR0,*+
        SAR AR6,*+
        SAR AR7,*+
        SAR AR1,*
        LAR AR0,#03h
        LAR AR0,*0+

begin:
        LDP #100H        ;数据页8000H-837FH
        MAR *,AR1        ;
        LAR AR0,#8H

。。。。。。

EXIT:      
        MAR                *,AR1           ;设置ARP=SP;
        SBRK        #4H
        LAR                AR7,*-
        LAR                AR6,*-
        LAR                AR0,*-          ;弹出FP
        PSHD        *
        RET

  这段代码_ReadSample 我替你测试了一下,能正常返回,没发现什么问题呀!

2812是否会有同样的问题,因为 程序越来越大,打算换2812

2812 我没有用过,回答不了你的问题,抱歉!



是不是有了这个库就可以在程序存储空间中读取数据了?

非常感谢  呵呵 解决长久以来的大问题了

pfunc.lib 中的 6 个函数,源代码读了一下,受益匪浅。可惜spra380.pdf  下载后却是一片空白,什么也看不见。是否我的 Acrobat Reader 版本不对?(是7.0)?难道非4.0 版不可,而不能向下兼容吗?

我最近也遇到了烧写之后函数参数不能正确传递的问题.
我的项目是在液晶显示器上显示字符串,为此定义了以下函数
LcdPrintStr(int x,int y,char *cStr)
{
char *pStr=cStr;
while(pStr)
{
....
pStr++;
}
}

char a[]=\"OK\";

main()
{
char b[]=\"Hello world\";
char *c=\"test\";
LcdPrintStr(0,0,a); //这句可以
LcdPrintStr(0,1,b); //这句可以
LcdPrintStr(0,2,c); //这句不行
LcdPrintStr(0,3,\"Hello\"); //这句不行
}

不行的两行,在函数体内通过参数cStr得到的字符串是一堆乱码,请问是不是被定义到程序空间去了?这个问题我怎么解决?
此问题已经困扰了我一个多月了,一直没有解决,论坛上的贴子也没有人能够给出有效的方法.烦请您帮助分析一下,不胜感激!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top