-
这个是肯定有的
-
http://www.cnblogs.com/wangkewei/archive/2009/12/22/1629869.html
我现在正在利用silverlight for wince R3开发,可以一起研究。
-
到位,呵呵
-
引用楼主 wanlingood 的回复:
错误一:Error : L6286E: Value(0xbffff70) out of range(0 - 0xfff) for relocation #2 (wrt symbol Image$$ZI$$Limit) in init.o(init)
错误二:**** No section assigned to this execution region ****
没搞过,但可以帮你分析分析:
问题一:在init.o中重新设置#2时值0xbffff70超出了范围0 - 0xfff
问题二:在执行部分没有可执行的节点
可能原因:对于问题一,可以Debug一下,看看重新设置#2时Value的变化;对于问题二,在Debug时捋一下流程,应该就能找到问题的所在。
-
chuhuabing,cool_ice1020,你们好!
我也是刚才是用VxWorks6.6,以前使用5.5的。我的BSP在制作bootrom的时候也发现无法启动FTP的工程,报错信息为:
Loading... FTP transfer failed
Error loading file: errno = 0x41.
感觉整个网卡的驱动都没有加载进去,不是太清楚6.6的VxBus驱动模式,有点找不到北了!
我用bsp制作VxWorks的映像时,通关过对component这些组件的配置,网络却又是通的!不知道哪里出问题了。
请问大概那里出问题了,在哪里加载的?还需要定义哪些宏定义。
-
一个工程有很多东西需要配置的,具体你摸索一遍option菜单就知道了……
-
感谢王兄~~学习了~~~
-
固定PWM频率,调整脉宽来调整DA输出.
PWM输出端的电路的参数和PWM频率相关.设置好电路参数和频率就可以了.
另外,感觉采样频率的大小,最好PWM频率大于采样频率20倍以上.这样拟合曲线失真度才不会很大
-
bootloader中的代码
用到汇编
主要是初始化硬件平台
总起来讲
汇编用的不多
DSP开发应该主要应用C语言
现在的C编译器效率已经很高了
如果用汇编开发大型程序
是很痛苦的一件事情
个人见解
-
来个另类点的定位:APRS(自动位置报告系统),结合GPS,无线电!实际没什么大用,玩无线电的玩的蛮多!楼主有兴趣做个!
-
首先看到汇编,有种说不来的感觉。呵呵
楼主自己好好看下面的C代码吧:
#ifndef X5045_h
#define X5045_h
#define WDT1_4 0x00;
#define WDT600 0x10;
#define WDT200 0x20;
#define WDTDIS 0x30;
//BIT
sbit B_CS5045=P2^0;
sbit B_SO5045=P2^1;
sbit B_SCLK5045=P2^3;
sbit B_SI5045=P2^2;
extern unsigned char data tcX5045;
void RstWDT(void);
void WrB5045(unsigned char,unsigned char) reentrant; //写入单字节数据
unsigned char RdB5045(unsigned char); //读出单字节数据
void byteout(unsigned char); //向5045输出单字节
void wip_chk(void); //等待5045结束内部写周期
unsigned char rdsr(void); //5045状态寄存器读出程序
unsigned char bytein(void); //从5045读出一字节数据
unsigned char readx(void); //读地址,地址位于100h
void wrsr(unsigned char); //5045状态寄存器写入程序
void wren(void); //写允许
void wrdi(void); //写禁止
#endif
/*
X5045/3 读写驱动
*/
#include
#include "X5045.h"
//复位看门狗
void RstWDT()
{
B_CS5045=0;
B_CS5045=1;
}
//向X5045写入单字节数据
//输入:x,待写数据,address,写入数据的地址
void WrB5045(unsigned char x,unsigned char address) reentrant //数据,地址
{
wren();
B_SCLK5045=0;
B_CS5045=0;
byteout(0x2); //write
byteout(address);
byteout(x);
B_SCLK5045=0;
B_CS5045=1;
wip_chk();
wrdi();
}
//从X5045读入单字节数据
//输入:address,待读数据地址
//返回:读出的数据
unsigned char RdB5045(unsigned char address)
{
unsigned char data x;
B_SCLK5045=0;
B_CS5045=0;
byteout(0x3); //read 000h
byteout(address);
x=bytein();
B_SCLK5045=0;
B_CS5045=1;
return (x);
}
//向X5045输出单字节
void byteout(unsigned char x)
{
unsigned char data i,j;
j=128;
for(i=0;i=5) break;
}
while(dat);
}
//5045状态寄存器读出程序
unsigned char rdsr()
{
unsigned char data dat;
B_SCLK5045=0;
B_CS5045=0;
byteout(5);
dat=bytein();
B_SCLK5045=0;
B_CS5045=1;
return (dat);
}
//从X5045读出一字节数据
unsigned char bytein()
{
unsigned char data i,x;
x=0;
for (i=0;i
-
我觉得关键要看CPU是否支持图形加速。。。。
-
用过,车载产品已投产,暂时没有发现问题
抗干扰能力不只是MCU的事,还有其它多种因素影响
-
很强大啊。。。
-
可以兼职吗?
工作地点?
-
同问。。。
-
RtlInitUnicodeString(&SyncEventName, L"\\BaseNamedObjects\\SyncEvent\0");
fdoData->pSyncEvent = IoCreateNotificationEvent(&SyncEventName, &fdoData->hSyncEventHandle);
也是类似这么调用的,没发现你这个有什么问题啊
-
你问的问题都是语法层面的
实际上综合软件会将你写得代码变成逻辑
所以语法上的区别其实并不决定最后的硬件逻辑
比如说
a = b ? c : d;
一般是个组合逻辑
a = b ? c : a;
就有可能是时序逻辑
-
即将用103K3.
103K3是32脚的,
103F3是20脚的,
头文件
STM8S103K.h与STM8S103F.h
的定义都不一样...
-
struct GPIO /* GPIO struct */
{
union
{
unsigned long int DWOED;
struct
{
unsigned long int MODE0:2; /* IO 0 */
unsigned long int CNF0: 2;
unsigned long int MODE1:2; /* IO 1 */
unsigned long int CNF1: 2;
unsigned long int MODE2:2; /* IO 2 */
unsigned long int CNF2: 2;
unsigned long int MODE3:2; /* IO 3 */
unsigned long int CNF3: 2;
unsigned long int MODE4:2; /* IO 4 */
unsigned long int CNF4: 2;
unsigned long int MODE5:2; /* IO 5 */
unsigned long int CNF5: 2;
unsigned long int MODE6:2; /* IO 6 */
unsigned long int CNF6: 2;
unsigned long int MODE7:2; /* IO 7 */
unsigned long int CNF7: 2;
}BIT;
}CRL; /* 端口配置低寄存器 */
union
{
unsigned long int DWOED;
struct
{
unsigned long int MODE8:2; /* IO 8 */
unsigned long int CNF8: 2;
unsigned long int MODE9:2; /* IO 9 */
unsigned long int CNF9: 2;
unsigned long int MODE10:2; /* IO 10 */
unsigned long int CNF10: 2;
unsigned long int MODE11:2; /* IO 11 */
unsigned long int CNF11: 2;
unsigned long int MODE12:2; /* IO 12 */
unsigned long int CNF12: 2;
unsigned long int MODE13:2; /* IO 13 */
unsigned long int CNF13: 2;
unsigned long int MODE14:2; /* IO 14 */
unsigned long int CNF14: 2;
unsigned long int MODE15:2; /* IO 15 */
unsigned long int CNF15: 2;
}BIT;
}CRH; /* 端口配置高寄存器 */
union
{
unsigned long int DWOED;
struct
{
unsigned long int IDR0 :1; /* IDR0 */
unsigned long int IDR1 :1; /* IDR1 */
unsigned long int IDR2 :1; /* IDR2 */
unsigned long int IDR3 :1; /* IDR3 */
unsigned long int IDR4 :1; /* IDR4 */
unsigned long int IDR5 :1; /* IDR5 */
unsigned long int IDR6 :1; /* IDR6 */
unsigned long int IDR7 :1; /* IDR7 */
unsigned long int IDR8 :1; /* IDR8 */
unsigned long int IDR9 :1; /* IDR9 */
unsigned long int IDR10 :1; /* IDR10 */
unsigned long int IDR11 :1; /* IDR11 */
unsigned long int IDR12 :1; /* IDR12 */
unsigned long int IDR13 :1; /* IDR13 */
unsigned long int IDR14 :1; /* IDR14 */
unsigned long int IDR15 :1; /* IDR15 */
unsigned long int RSV :15; /* IDR16~31 */
}BIT;
}IDR; /* 端口输入数据寄存 */
union
{
unsigned long int DWOED;
struct
{
unsigned long int ODR0 :1; /* ODR0 */
unsigned long int ODR1 :1; /* ODR1 */
unsigned long int ODR2 :1; /* ODR2 */
unsigned long int ODR3 :1; /* ODR3 */
unsigned long int ODR4 :1; /* ODR4 */
unsigned long int ODR5 :1; /* ODR5 */
unsigned long int ODR6 :1; /* ODR6 */
unsigned long int ODR7 :1; /* ODR7 */
unsigned long int ODR8 :1; /* ODR8 */
unsigned long int ODR9 :1; /* ODR9 */
unsigned long int ODR10 :1; /* ODR10 */
unsigned long int ODR11 :1; /* ODR11 */
unsigned long int ODR12 :1; /* ODR12 */
unsigned long int ODR13 :1; /* ODR13 */
unsigned long int ODR14 :1; /* ODR14 */
unsigned long int ODR15 :1; /* ODR15 */
unsigned long int RSV :16; /* ODR16~31 */
}BIT;
}ODR; /* 端口输出数据寄存器 */
union
{
unsigned long int DWOED;
struct
{
unsigned long int BS0:1; /* BS0 */
unsigned long int BS1:1; /* BS0 */
unsigned long int BS2:1; /* BS0 */
unsigned long int BS3:1; /* BS0 */
unsigned long int BS4:1; /* BS0 */
unsigned long int BS5:1; /* BS0 */
unsigned long int BS6:1; /* BS0 */
unsigned long int BS7:1; /* BS0 */
unsigned long int BS8:1; /* BS0 */
unsigned long int BS9:1; /* BS0 */
unsigned long int BS10:1; /* BS0 */
unsigned long int BS11:1; /* BS0 */
unsigned long int BS12:1; /* BS0 */
unsigned long int BS13:1; /* BS0 */
unsigned long int BS14:1; /* BS0 */
unsigned long int BS15:1; /* BS0 */
unsigned long int BR0:1; /* BR0 */
unsigned long int BR1:1; /* BR1 */
unsigned long int BR2:1; /* BR2 */
unsigned long int BR3:1; /* BR3 */
unsigned long int BR4:1; /* BR4 */
unsigned long int BR5:1; /* BR5 */
unsigned long int BR6:1; /* BR6 */
unsigned long int BR7:1; /* BR7 */
unsigned long int BR8:1; /* BR8 */
unsigned long int BR9:1; /* BR9 */
unsigned long int BR10:1; /* BR10 */
unsigned long int BR11:1; /* BR11 */
unsigned long int BR12:1; /* BR12 */
unsigned long int BR13:1; /* BR13 */
unsigned long int BR14:1; /* BR14 */
unsigned long int BR15:1; /* BR15 */
}BIT;
}BSRR; /* 端口位设置/复位寄存器 */
union
{
unsigned long int DWOED;
struct
{
unsigned long int BR0:1; /* BR0 */
unsigned long int BR1:1; /* BR1 */
unsigned long int BR2:1; /* BR2 */
unsigned long int BR3:1; /* BR3 */
unsigned long int BR4:1; /* BR4 */
unsigned long int BR5:1; /* BR5 */
unsigned long int BR6:1; /* BR6 */
unsigned long int BR7:1; /* BR7 */
unsigned long int BR8:1; /* BR8 */
unsigned long int BR9:1; /* BR9 */
unsigned long int BR10:1; /* BR10 */
unsigned long int BR11:1; /* BR11 */
unsigned long int BR12:1; /* BR12 */
unsigned long int BR13:1; /* BR13 */
unsigned long int BR14:1; /* BR14 */
unsigned long int BR15:1; /* BR15 */
unsigned long int RSV:16; /* BR16~31 */
}BIT;
}BRR; /* 端口位复位寄存 */
union
{
unsigned long int DWOED;
struct
{
unsigned long int LCK0:1; /* LCK 0 */
unsigned long int LCK1:1; /* LCK 1 */
unsigned long int LCK2:1; /* LCK 2 */
unsigned long int LCK3:1; /* LCK 3 */
unsigned long int LCK4:1; /* LCK 4 */
unsigned long int LCK5:1; /* LCK 5 */
unsigned long int LCK6:1; /* LCK 6 */
unsigned long int LCK7:1; /* LCK 7 */
unsigned long int LCK8:1; /* LCK 8 */
unsigned long int LCK9:1; /* LCK 9 */
unsigned long int LCK10:1; /* LCK 10 */
unsigned long int LCK11:1; /* LCK 11 */
unsigned long int LCK12:1; /* LCK 12 */
unsigned long int LCK13:1; /* LCK 13 */
unsigned long int LCK14:1; /* LCK 14 */
unsigned long int LCK15:1; /* LCK 14 */
unsigned long int LCKK:1; /* LCK K */
unsigned long int RSV:15; /* BR17~31 */
}BIT;
}LCKR; /* 端口配置锁定寄存器 */
};
然后把各个GPIO的map对应到具体的芯片地址,比如GPIOA就是:
#define GPIOA (*(volatile struct GPIO *)GPIOA_BASE) /* GPIOA Address*/
其中:GPIOA_BASE 是(APB2PERIPH_BASE + 0x0800)