EDN首页   博客首页

0

关于投票
在做DSP/GEL菜鸟前的一些感慨
hotpower 发表于 2008-5-16 22:44 德州仪器(TI) ←返回版面 按此察看该网友的资料 按此把文章加入收藏夹 按此编辑本帖

楼主: 在做DSP/GEL菜鸟前的一些感慨

俺这些年来一直做好多方面的菜鸟,很是疲倦~~~
不过俺的命很好,每次总要倒塌一些什么,心情很是愉快.

累!!!俺很累...

每次做菜鸟前都要搜集大量的资料...
以前坚持博客里只发表自己的程序...一直讨厌"转帖"增"人气"...

最近工作调动,DSP应该是首位.

但是程序全部是以前的研究生写的,很是倒塌~~~

尤其是在写程序到FLASH里的制作过程太复杂.

在某个系统中,除了要对外扩的SST39VF800A写入代码外,还要写入K9F1G08的语音数据.

一直都是问题,特别是语音数据的录入...

看着繁杂的操作过程...眼晕~~~

既然要"重操旧业",那必须要达到一定的"水准"...

最近一直在博客里转载了大量的DSP/BIOS资料,首先是要想摆脱"裸奔"的陋习...

再就是用DSP/GEL来实现俺的梦想...

梦醒后,感觉肯定能实现!!!

再到网上搜索有关GEL的资料,发现资料很少,只有基于C语言和GEL语言的Flash编程新方法的思路和菜农近似~~~

不过确实不如菜农的着法"新潮"~~~等菜农搞出来再拿出来PK~~~

实际搞什么大家的思路大体都是一样的,不过还是要看"技巧"的~~~

最近发现博客的DSP栏目转载太多,只好再细化为DSP5402DSP2812栏目.

网上有很多网友问我怎么总是当菜鸟,俺说---笨鸟勤飞~~~

在做DSP/GEL菜鸟前的一些感慨----晕和累
系统分类: DSP
用户分类: DSP GEL语言
标签: 无标签
来源: 原创
发表评论 阅读全文(456) | 回复(4)

0

关于投票
DSP5402之另类的"数组"访问

#define FLASH(x)  (*((volatile unsigned char *) 0x8000 + (x)))
/*----------------------------------------------------------
另类的"数组"访问,外扩的SST39VF800A从0x8000开始
void FlashObj::ChipErase(void)
{
  FLASH(0x5555) = 0xaa; 
  FLASH(0x2AAA) = 0x55; 
  FLASH(0x5555) = 0x80;
  FLASH(0x5555) = 0xaa; 
  FLASH(0x2AAA) = 0x55; 
  FLASH(0x5555) = 0x10;
  Wait(0x5555);
}
void FlashObj::Wait(unsigned int address)
{
unsigned int temp, val;
  do {
    val = FLASH(address);
    __nop();
    temp = FLASH(address);
    __nop();
  }
  while(((val ^ temp) & (1 << BIT6)) != 0);
}
----------------------------------------------------------*/

点击看大图

 

在此非常感谢simon21ic对宏bug的纠错!!!

hotpower 发表于 2008-5-18 07:27 侃单片机 ←返回版面 按此察看该网友的资料 按此把文章加入收藏夹 按此编辑本帖

41楼: 非常感谢simon21ic对宏bug的纠错!!!

哈哈~~~

当x为复杂的表达式时:

#define FLASH(x)  (*((volatile unsigned char *) 0x8000 + x))

中x的有部分可能与0x8000先"乱搞"~~~~

#define FLASH(x)  (*((volatile unsigned char *) 0x8000 + (x)))


俺以前就有过"惨痛"的教训~~~

开始:
#define LedChar0 LedSegA + LedSegB + LedSegC + LedSegD + LedSegE + LedSegF
//...................................

实战出错找了一天才想到了是宏bug~~~

以后俺都是:
#define LedChar0 (LedSegA + LedSegB + LedSegC + LedSegD + LedSegE + LedSegF          )
#define LedChar1 (          LedSegB + LedSegC                                        )
#define LedChar2 (LedSegA + LedSegB           + LedSegD + LedSegE           + LedSegG)
#define LedChar3 (LedSegA + LedSegB + LedSegC + LedSegD                     + LedSegG)
#define LedChar4 (          LedSegB + LedSegC                     + LedSegF + LedSegG)
#define LedChar5 (LedSegA           + LedSegC + LedSegD           + LedSegF + LedSegG)
#define LedChar6 (LedSegA           + LedSegC + LedSegD + LedSegE + LedSegF + LedSegG)
#define LedChar7 (LedSegA + LedSegB + LedSegC                                        )
#define LedChar8 (LedSegA + LedSegB + LedSegC + LedSegD + LedSegE + LedSegF + LedSegG)
#define LedChar9 (LedSegA + LedSegB + LedSegC + LedSegD           + LedSegF + LedSegG)
#define LedCharA (LedSegA + LedSegB + LedSegC           + LedSegE + LedSegF + LedSegG)
#define LedCharB (                    LedSegC + LedSegD + LedSegE + LedSegF + LedSegG)
#define LedCharC (LedSegA                     + LedSegD + LedSegE + LedSegF          )
#define LedCharD (          LedSegB + LedSegC + LedSegD + LedSegE           + LedSegG)
#define LedCharE (LedSegA                     + LedSegD + LedSegE + LedSegF + LedSegG)
#define LedCharF (LedSegA                               + LedSegE + LedSegF + LedSegG)



DSP281X硬件SPI读写一体化C++函数(驱动74hc595)

系统分类: DSP
用户分类: DSP5402
标签: 无标签
来源: 原创
发表评论 阅读全文(480) | 回复(0)

0

关于投票
下周终于有机会做MSP430菜鸟了~~~

特发帖祝贺~~~菜农6年没了却的梦终于要醒了~~~

但愿俺能轻松倒塌430~~~

系统分类: 单片机
用户分类: MSP430
标签: 无标签
来源: 原创
发表评论 阅读全文(400) | 回复(0)
总共 , 当前 /