免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2397 | 回复: 2
打印 上一主题 下一主题

sparc芯片验证 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-25 16:03 |只看该作者 |倒序浏览
sparc芯片验证








最近在弄这个,都是sparc体系结构和汇编,用的是loeon3,grip等ip核,基于sparc体系结构。

贴一点uart验证的代码,很简单的sparc汇编。
  1. /* * apb_uart.S * *  Created on: 2011-7-19 *      Author: xiaoyang */#include "fpga.h"#include "apb_uart.h".text.align 4.globl test_uart0!length of test string#define STR_LEN    8test_uart0:    save %sp, -128, %sp    nop!========================================!config!========================================    /*    uart->scaler = 1;    uart->status = 0;    uart->data = 0;    */    set UART0_BASE,%l0    !set uart0 scaler=1    add %l0,UART_SCALER,%l1    set 1,%l2    st %l2,[%l1]    !clear data    add %l0,UART_DATA,%l1    set 0,%l2    st %l2,[%l1]    !clear status bits,0x6    add %l0,UART_STATUS,%l1    set 0x6,%l2    st %l2,[%l1]    /*    uart->control = 0;    uart->control = ENABLE_TX;    uart->data = 0;    uart->data = 0;    uart->control = ENABLE_TX | ENABLE_RX;// | LOOP_BACK;    uart->control = ENABLE_TX | ENABLE_RX | LOOP_BACK;    for (i = 0; i < 100; i++) {      uart->data = 0;    }    for (i = 0; i < 100; i++) {      temp = uart->data;    }    */    !clear uart0 control register    add %l0,UART_CON,%l1    set 0,%l2    st %l2,[%l1]    add %l0,UART_CON,%l1    set ENABLE_TX,%l2    st %l2,[%l1]    !clear data    add %l0,UART_DATA,%l1    set 0,%l2    st %l2,[%l1]    !uart->control = ENABLE_TX | ENABLE_RX | LOOP_BACK,0x83    add %l0,UART_CON,%l1    set 0x83,%l2    st %l2,[%l1]    !clean data,initialize receiver holding register to prevent X in gate level simulation    set 0,%l2    add %l0,UART_DATA,%l1    nop0:    st %g0,[%l1]     !set uart_data=0    ld [%l1],%l3     !temp = uart_data    add %l2,1,%l2     !if(i++ < 100) goto 0b;    cmp %l2,8    bne 0b    nop!========================================!apb uart!========================================    /*    for(i = 0; i < 8; i++ ){        uart_data = string[i]    }    %l0:uart base    %l1:uart status address    %l2:uart data address(TX or Rx)    %l3:uart status value    %l4:uart data value(Rx or TX)    %l5:i    %l6:tmp value    %l7:char address to send    */    set 0,%l2    add %l0,UART_STATUS,%l1    add %l0,UART_DATA,%l2!    set string,%l7    set 0,%l5    nop1:    !if %l2>STR_LEN,get out of loop    cmp %l5,STR_LEN    bg 4f    nop    add %l5,1,%l5    ld [%l1],%l3    !mov %l3,%l62:    !check RF bit    and %l3,0x400,%l6    cmp %l6,0x400    bne 3f    nop    !RF is set,recieve data    !ld [%l2],%l4    !ba 1b;    !nop    !(Reciever FIFO is Full)    ld [%l2],%l4    mov %l4, %o0                        !recieve suc(data)    call show    nop    ba 1b;    nop3:    !check TF bit(Transmit FIFO is Full)    and %l3,0x200,%l6    cmp %l6,0x200    !Transmit FIFO is Full    be 1b    nop    !transmit data:string[i]!    add %l7,8,%l7!    ld [%l7],%l4!    st %l4,[%l2]    set 0x55,%l4    st %l4,[%l2]    ba 1b;    nop4:    !disable uart0    !uart->control = ENABLE_TX | ENABLE_RX | LOOP_BACK,0x83    add %l0,UART_CON,%l1    st %g0,[%l1]    !Finish    ret    restore!========================================!the data section!========================================!        .section     ".data"!string:    .asciz        "1234567890abc"!========================================!end of file!========================================
  2. 复制代码
复制代码

论坛徽章:
0
2 [报告]
发表于 2012-01-04 14:58 |只看该作者
谢谢分享

论坛徽章:
62
洛杉矶湖人
日期:2015-02-10 09:56:11黑曼巴
日期:2016-06-28 17:41:282015-2016NBA季后赛纪念章
日期:2016-06-28 17:41:282016猴年福章徽章
日期:2016-02-18 15:30:34圣安东尼奥马刺
日期:2015-05-04 22:46:00菠菜神灯
日期:2015-05-04 22:35:07新奥尔良黄蜂
日期:2015-03-17 13:54:52明尼苏达森林狼
日期:2015-03-16 21:51:15萨克拉门托国王
日期:2015-03-02 16:10:58华盛顿奇才
日期:2015-03-02 16:10:58迈阿密热火
日期:2015-03-02 16:10:582016科比退役纪念章
日期:2016-06-28 17:41:28
3 [报告]
发表于 2012-01-04 18:09 |只看该作者
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP