跟我一起写 Makefile

make的“-f”和“--file”参数,如:make -f Make.Linux或make --file Make.AIX。三、引用其它的Makefile 在Makefile使用include关键字可以把别的Makefile包含进来,这很像C语言的#include,被包含的文件会原模原样的放在当前文件的包含位置。include的语法是: ...

http://home.eeworld.com.cn/my/space-uid-361439-blogid-662170.html 发布时间: 2018-06-22



mipsel-openwrt-linux-gcc交叉编译时找不到库文件的解决办法

1、在学习《linux程序设计》的时候利用ubuntu14.04系统自带的dbm数据库对一个CD程序想要交叉编译,然都一直到mips架构下的WRTnode2P, 但是在交叉编译的时候找不到libgdbm库,在WRTnode.cc中也找不到对应的库文件(有一个libgdbm,但是版本吗大不相同)。于是找到从网上下载源码,因为dbm相关的函数都是用C语言开发的,可以自行交叉编译得到相应的可执行文件。 从网上下载源代码的命令:sudo apt-get source libgdbm-dev1现在有2个源文件,一个头文件 app_ui.c access.c access.h。acce...

http://home.eeworld.com.cn/my/space-uid-361439-blogid-662162.html 发布时间: 2018-06-22



抽丝剥茧地看待半导体行业

,产品价格有竞争力,寿命够用就好,抢占了先机。市场变化带动产品变化,研发及个方面投入要调整,满足客户的最根本需求是制胜之道,竞争之本。在生态系统层面,早在80年代CPU的指令集架构ISA (Instruction Set Architecture)是软件生态系统的根基已成业内共识。当年英特尔攻打服务器市场时,大量服务器生态是建立在UNIX和C语言基础上,为了确保在Unix 生态下兼容,程序都确保...
关键词: 半导体

http://www.eeworld.com.cn/manufacture/article_2018062226383.html 发布时间: 2018-06-22



DSP核+协处理器

一样去开发多核应用系统,在同一平台上完成编程、调试、编译优 化和连机测试的过程。        例如,Cradle 公司在推出CT3600系列多核DSP的同时,还推出了相应的多核开发工具,包括ANSI C编译器、针对DSP进行了时序优化的Cradle C语言、eCOS实时操作系统、INSPECTORTM代码开发与调试器和RDS3600硬件开发平台...

http://bbs.eeworld.com.cn/thread-648498-1-1.html 发布时间: 2018-06-21



Keil C51对C语言的关键词扩展之一: _at_

 _at_关键词用于在定义变量时指定变量所在地址。_at_关键词使用示例如下:struct link  {  struct link idata *next;  char code *test;  };struct link list idata _at_ 0x40;     /* 定义位于内部RAM低128字节区0x40地址处的 结构体 */char xdata text[256]   _at_ 0xE000;   /* 定义位于外部RAM 0xE000地址处的 数组 */int xdata i1 &n...
关键词: Keil C51 _at_

http://www.eeworld.com.cn/mcu/article_2018062139910.html 发布时间: 2018-06-21



Keil C51对C语言的关键词扩展之二: alien

alien关键词主要是为了C51编译器与PL/M-51编译器兼容。在C51编译器中调用PL/M-51函数,须使用alien声明该函数,如下:extern alien char plm_func (int, char);char c_func (void)  {  int i;  char c;  for (i = 0; i < 100; i++) {    c = plm_func (i, c);          /* call PL/M func */  }&nbs...
关键词: Keil C51 alien

http://www.eeworld.com.cn/mcu/article_2018062139909.html 发布时间: 2018-06-21



Keil C51对C语言的关键词扩展之三: bdata

使用bdata定义的变量即可字寻址,也可比特位寻址。Keil C51编译器把使用bdata定义的变量放置在8051内部RAM可位寻址区。bdata定义的变量必须为全局变量,不能在任一函数内部定义bdata类型的变量。bdata关键词使用方法:int bdata x1;        /* 定义可位寻址的整型变量*/char bdata bary [4];    /* 定义可位寻址的数组*/此时,x1,bary均可按比特位寻址。使用sbit关键词定义可操作其任一比特位的变量。sbit mybit0 = x1 ^ 0;   &n...
关键词: Keil C51 bdata

http://www.eeworld.com.cn/mcu/article_2018062139908.html 发布时间: 2018-06-21



Keil C51对C语言的关键词扩展之四: bit

bit关键词可定义位变量,可用于函数参数、返回值类型。static bit done_flag = 0;    /* 位变量*/bit testfunc (               /* 返回值类型为位变量 */  bit flag1,                 /* 参数类型为位变量 */  bit flag2){...return (0);        ...
关键词: Keil C51 bit

http://www.eeworld.com.cn/mcu/article_2018062139907.html 发布时间: 2018-06-21



Keil C51对C语言的关键词扩展之五: code

code 指定存储位置位于程序存储器。程序存储器只读,因此code类型的变量,是无法再次赋值的。unsigned char code ary[ ] = :"Read only"; /* 数组ary位于程序存储器 */ary[0]='a'; /* 错误,不可修改*/...
关键词: Keil C51 code

http://www.eeworld.com.cn/mcu/article_2018062139906.html 发布时间: 2018-06-21



Keil C51对C语言的关键词扩展之六: compact

函数的参数和局部变量存储在内存模型指定的默认区域内。我们可以通过small,compact 或large 指定一个函数使用何种内存模型。#pragma small         /* 默认内存模型为small*/extern int calc (char i, int b) large reentrant;extern int func (int i, float f) large;extern void *tcp (char xdata *xp, int ndx) compact;int mtest (int i, int y)   &nb...
关键词: Keil C51 compact

http://www.eeworld.com.cn/mcu/article_2018062139905.html 发布时间: 2018-06-21



Keil C51对C语言的关键词扩展之七: data

8051单片机内部256字节RAM,低128字节既可直接寻址,又可间接寻址,高128字节RAM只能间接寻址(直接寻址方式下,高128字节被映射到SFR特殊功能寄存器)。内部RAM中包含16字节可位寻址区域,该区域起始地址为20H。内部RAM存储区被分为三种不同的存储区类型:data,idata,bdata。1)data指低128字节,以直接寻址方式访问存在该区域的变量。2)idata指全部256字节,该存储类型编译后的代码以间接寻址方式访问内存。3)bdata指16字节可位寻址区,该区域地址范围为20H-2FH。使用bdata能够定义可位寻址的变量。汇编语言内部RAM直接寻址方式,示例:MOV...
关键词: Keil C51 data

http://www.eeworld.com.cn/mcu/article_2018062139904.html 发布时间: 2018-06-21



Keil C51对C语言的关键词扩展之八: far

far的出现,是Keil 编译器为了支持新出现的8051家族增强型MCU,这些增强型MCU可能拥有大于64KB的存储器。使用far可访问扩展的RAM,使用const far可访问扩展的ROM。NXP 51MX架构51单片机提供通过通用指针访问多达8MB的code和xdata存储空间。Dallas 390架构的51单片机通过24位的DPTR寄存器结合传统MOVX 、MOVC指令来访问扩展的RAM和ROM。...
关键词: Keil C51 far

http://www.eeworld.com.cn/mcu/article_2018062139903.html 发布时间: 2018-06-21



Keil C51对C语言的关键词扩展之九: idata

idata声明的变量存储在内部ram 256字节范围内。data声明的变量存储在内部ram低128字节范围内。...
关键词: Keil C51 idata

http://www.eeworld.com.cn/mcu/article_2018062139902.html 发布时间: 2018-06-21



Keil C51对C语言的关键词扩展之十: pdata

外部ram通过一个地址指针寄存器来间接访问,读写效率要低于内部ram。外部ram容量最大可位64KB。Keil C51提供两种外部数据存储方式,pdata和xdata。1)xdata存储类型,指示变量可存储在外部ram 64KB地址范围内任意位置。large内存模型下,变量即为此种默认存储类型。2)pdata存储类型,指示变量可存储在外部ram 256字节页范围内任意位置。compact内存模型下,变量即为此种存储类型。外部ram通过movx指令存取。...
关键词: Keil C51 pdata

http://www.eeworld.com.cn/mcu/article_2018062139901.html 发布时间: 2018-06-21



Keil C51对C语言的关键词扩展之十一: xdata

xdata声明的变量位于外部ram 64KB地址范围内某一位置。程序示例:unsigned int xdata m=0; /* 声明一个全局变量,可位于外部ram 64KB地址范围内任意位置,由编译器决定 */int main(void){......}...
关键词: Keil C51 xdata

http://www.eeworld.com.cn/mcu/article_2018062139900.html 发布时间: 2018-06-21



Keil C51对C语言的关键词扩展之十二: _priority_ 以及 _task_

Keil 51编译器支持 RTX51 Full 和 RTX51 Tiny 实时多任务操作系统,并为其提供了_task_关键词以及_priority_关键词。_task_关键词指示一个函数为实时任务。_priority_关键词指示任务优先级。示例:void func (void) _task_ num _priority_ prinum为任务ID,在RTX51 Full中取值范围为0-255,在RTX51 Tiny中取值为0-15。pri为任务优先级。_task_声明的任务函数,不能有参数,范围值类型必须为void类型。...
关键词: Keil C51 _priority_ _task_

http://www.eeworld.com.cn/mcu/article_2018062139899.html 发布时间: 2018-06-21



Keil C51对C语言的关键词扩展之十三: sfr

sfr用来定义特殊功能寄存器。用法如下:sfr name = address;name 为寄存器名字address 为寄存器的地址示例:sfr P0 = 0x80; /* P0口,地址为0x80 */sfr P1 = 0x90; /* P1口,地址为0x90 */sfr P2 = 0xA0;       /* P2口,地址为0xa0 */sfr P3 = 0xB0; /* P3口,地址为0xb0 */等号右边必须为数字常量,不能包含+ -等操作符,数值也不是随意的,传统类型8051单片机支持的地址范围为0x80 - 0xFF...
关键词: Keil C51 sfr

http://www.eeworld.com.cn/mcu/article_2018062139898.html 发布时间: 2018-06-21



Keil C51对C语言的关键词扩展之十四: interrupt

8051/8052系列单片机标准向量表:中断号      描述   地址             0外部中断0 0003h1定时/计数器0 000Bh2外部中断1 0013h3定时计数器1 001Bh4串口 0023h5定时计数器2(8052)  002Bh众多厂商为其51系列单片机添加了更多的中断。Keil Cx51编译器支持多达32个中断函数(中断号0-31)。下表列出了这32个中断向量入口地址:&nb...
关键词: Keil C51 interrupt

http://www.eeworld.com.cn/mcu/article_2018062139897.html 发布时间: 2018-06-21



Keil C51对C语言的关键词扩展之十五: reentrant

reentrant声明的函数为可重入函数。可重入的函数能够被多个进程同时调用。可重入函数在执行时,另外的进程可以中断当前执行的函数,并且调用同一个函数。正常情况下,C51程序中的函数不能被递归地调用,这是由于函数的参数和局部变量都被保存在固定的地址,在递归调用时操作了相同存储位置,导致数据被覆盖。使用reentrant声明函数为可递归调用的可重入函数:int calc (char i, int b) reentrant  {   int  x;   x...
关键词: Keil C51 reentrant

http://www.eeworld.com.cn/mcu/article_2018062139896.html 发布时间: 2018-06-21



Keil C51对C语言的关键词扩展之十六:sfr16

sfr16定义一个16位的特殊功能寄存器:sfr16 name = address;    name    16位特殊功能寄存器名称    address    16位特殊功能寄存器地址一些8051系列产品拥有16位的特殊功能寄存器,比如8052使用地址0XCC、0XCD表示定时/计数器2的低字节、高字节。C51编译器提供sfr16数据类型以便将两个8位特殊功能寄存器当做一个16位寄存器来访问。sfr16只能在小端模式下使用,低字节的地址作为16位特殊功能寄存器的地址:sfr16&nb...
关键词: Keil C51 sfr16

http://www.eeworld.com.cn/mcu/article_2018062139895.html 发布时间: 2018-06-21




<上一页 78910111213141516171819202122 下一页> 相关结果约22,222个