打印
[DSP编程]

求助 关于2812编程

[复制链接]
1089|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hawkerxh|  楼主 | 2014-3-12 12:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
刚开始学2812,以前学过点54xx,想动手写2812的汇编。

下面是一段54xx代码:

           .mmregs          ;54X 存储器影射寄存器定义            
          .global  _main   ;声明_main为全局符号

_main:
    nop
;-----------------------------------------------------   
;----------------------初始化 CPU---------------------
;-----------------------------------------------------   
    ssbx  INTM            ; INTM=1,禁止所有可屏蔽中断
    ld    #0, DP          ; 设置数据页指针DP=0
        stm   #0, CLKMD       ; 切换CPU内部PLL到分频模式
;-------------------------------------------------------------------       
;CLKMD DEFINITIONS:       
;    PLLMUL (bit 15-12) - 0000             PLL multiplier = 0 (mult by 1)
;    PLLDIV (bit 11)    -     0            PLL divider = 0 (div by 1)
;    PLLCOUNT (bit 10-3)-      11111111    PLL counter set to max
;    PLLONOFF (bit 2)   -              1   PLL on
;    PLLNDIV (bit 1)    -               1  Select PLL mode
;    PLLSTATUS (bit 1)  -                x PLL Status (read only)
;    ------------------
;                          0000011111111111 = 0x07ff CLKMD=1 X CLKIN
;--------------------------------------------------------------------               
Statu1:
    ldm   CLKMD, A
    and   #01b, A         
    bc    Statu1, ANEQ          ;检查是否已经切换到分频模式?
        stm   #0x07ff,CLKMD   ;设置DSP 时钟 10MHZ
;--------------------------------------------------------------------       
        nop
        stm   #0x3FF2,PMST  
;--------------------------------------------------------------------  
;PMST DEFINITIONS
;    IPTR (bit 15-7) -  001111111          Run-time Interrupt vector location = 0x3f80 (for now)
;    MP/~MC (bit 6)  -           1         Turn off internal Instruction ROM (use RAM)
;    OVLY   (bit 5)  -            1        Turn on internal RAM
;    AVIS   (bit 4)  -             1       Address visibility on
;    DROM   (bit 3)  -              0      Data ROM of FF00~FFFF is external
;    CLKOFF (bit 2)  -               0     Clockout  enabled,only for use clkout=cpu clock
;    SMUL   (bit 1)  -                1    Saturate before multiply on MAC
;    SST    (bit 0)  -                 0   Do not saturate before store
;                      -----------------
;                      0011 1111 1111 0010 = 0x3ff2
;*---------------------------------------------------------------------*/       


想请教下老手,如果用纯汇编在2812上写类似的东西,有几点不明白:
1、 .mmregs是否还要
2、2812里面是不是没有了,对位的操作了。
3、对2812频率的设置是不是,不需要再跳向分频模式,再切换频率,也不要再判断了。
4、另外能不能解答下dsp是怎么跳向_main的,这个问题在学54xx的时候也没完全搞清楚。知道54xx从ff80开始执行,然后中断向量表可以搬移,是不是在编译的时候选的参数就是确定_main是主程序的入口地址。还是CCS自动找.TEXT段的第一句的代码。

相关帖子

沙发
wangch_sh| | 2014-3-12 14:31 | 只看该作者
你为什么非要写汇编呢?现在主要用C。

使用特权

评论回复
板凳
hawkerxh|  楼主 | 2014-3-12 14:59 | 只看该作者
主要看引导过程中2812做了哪些事情。C语言一上来就是各种头文件,有点搞不清楚。

使用特权

评论回复
地板
zhangmangui| | 2014-3-15 00:21 | 只看该作者
我也接触过C55X的汇编  但是c28的就不太懂了  
帮忙顶

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

7

帖子

0

粉丝