龙芯软件开发(14)--串口输出

串口输出东西太重要了,因此,再来仔细地看看串口调用的其它函数,这样做到一目了然,没有别的疑问在里面,就可以做到庖丁解牛游刃有余。像下面的函数:PRINTSTR(" CONFIG=")上面这句,就是输出一串字符到串里显示出来。其实它是一个宏定义,那么它是怎么样实现输出字符串到串口上的呢?立即去找到它的宏定义,然后把它展开,最后看看它是怎么样的。宏定义如下:#define    PRINT...
阅读(7356) 评论(1)

龙芯软件开发(13)--配置南桥进入调试新天地

前面已经介绍到要初始化南桥,现在就来看看南桥是怎么样初始化,并且更重要的工作,就是怎么样初始化串口输出东西。先来看superio_init实现代码: #define PCICONF_WRITEB(dev,func,reg,data) /    li      a0,CFGADDR(dev,func,reg); /    li      a1,PHYS_TO_UNCACHED(PCI...
阅读(5537) 评论(0)

龙芯软件开发(12)--龙芯2E摸索前行

上一次说到怎么样运行起来,现在接着上次再进行分析下去。在locate的程序,如下:locate:       la     s0,start       subu       s0,ra,s0       and s0,0xffff0000        li      t0,SR_BOOT_EXC_VEC       mtc0       t0,COP_0_STATU...
阅读(4966) 评论(2)

龙芯软件开发(11)--龙芯2E运行的第一行程序

天生万物,万物始于天。同样,龙芯2E要运行起来,那么就少不了程序。那么龙芯2E的盘古开天是从那里开始呢?追源寻根,才能了解事物的来龙去脉,才能把握住未来的方向。现在就去寻找龙芯电脑运行的第一行程序,去看看龙芯的初始化阶段都做了些什么事情,有没有做坏事情呢?哈哈,这个很难说的。如果有BUG的出现,就会干出各种各样的坏事情。 龙芯2E的内存布局已经说明它要从那里加载第一行程序了,很明确的地址就...
阅读(5904) 评论(2)

龙芯软件开发(10)--龙芯2E指令

每个CPU都有自己独特的指令,比如X86结构的CPU有INTEL的指令系统,MIPS的CPU也有自己的指令系统,当然龙芯CPU也不例外,有自己的指令系统。指令是控制CPU怎么样工作的接口,每条指令都会让CPU做出响应的。如果发送一条不是CPU的指令,就会导致CPU非法执行,并且会引起CPU异常。龙芯里,每条指令都是固定长度:32位,4个字节。因此,任何指令段的代码长度,一定要是4字节的倍数,绝...
阅读(6334) 评论(4)

龙芯软件开发(9)--理解龙芯2E几个汇编问题

 在以前的MIPS机器里,都需要进行如下处理: 1. 加载或保存到内存. 2. lw $9, 0($8) ; 从内存里加载一个值到$93. nop    ; $9在这里还没有准备好,所以要跑多一条空指令来解决。4. addiu $10, $9 ; $9在这里已经从内存取值回来,可以使用了。 5. 分支和跳转. 6.            jal myfunc ;...
阅读(3695) 评论(0)

龙芯软件开发(8)--理解龙芯2E寄存器和内存布局

对于软件开发人员来说,一个CPU最重要的部分就是寄存器、内存布局和指令。龙芯2E逻辑上是有32个定点通用寄存器(其中0号固定为0),32个浮点寄存器,一个hi,一个lo,以及若干cp0控制寄存器,两个cp1控制寄存器。物理上是64个定点,64个浮点,和若干控制寄存器。龙芯2E具有下面的逻辑寄存器:l        32个通用的64位寄存器l        1个PC寄存器l       ...
阅读(3859) 评论(1)

龙芯软件开发(7)--编译PMON指南

编译PMON指南蔡军生 为了学习怎么样开发龙芯的BIOS,也就是PMON。经历好几天深夜的探索,遇到各种各样的问题,后来又上论坛问到kkmao,总算解决了,在这里谢谢kkmao的帮忙。现在就把我的编译过程介绍一下。 一、下载SVN工具由于要下载PMON代码,就要使用SVN工具。目前,所有的代码都是按版本控制形式保存在服务器上的,并且没有打包的代码,这样就需要使用SVN的工具...
阅读(7727) 评论(0)

龙芯软件开发(6)--CPU龙芯2E

在开发软件中,对于CPU的了解就是最重要的了。无论什么指令都需要CPU来执行。现在就来看看龙芯2E的具有什么特征了。 龙芯2号增强型处理器(简称“龙芯2E”)是中国科学院计算技术研究所研制的、具有自主知识产权的64位高性能通用处理器,龙芯2E的最高主频率达到1GHz,最高双精度浮点运算速度每秒39.93亿次,SPEC CPU2000性能测试达到500分,是目前全球除美日之外性能最高的通用处...
阅读(4073) 评论(0)

龙芯软件开发(5)--北桥南桥芯片的作用

北桥是基于Intel处理器的个人电脑主板芯片组两枚芯片中中的一枚。北桥设计用来处理高速信号,通常处理CPU,RAM,AGP端口或PCI Express,还有南桥之间的通信。 北桥芯片(North Bridge)是主板芯片组中起主导作用的最重要的组成部分,也称为主桥(Host Bridge)。一般来说,芯片组的名称就是以北桥芯片的名称来命名的,例如英特尔 845E芯片组的北桥芯片是82845E,...
阅读(6377) 评论(1)

龙芯软件开发(4)--主要芯片介绍

要对龙芯电脑开发,也需要了解硬件的组成,这样才可以对它进行编写相应的驱动程序和使用。现在就来了解一下龙芯电脑的主要芯片组成,下面先从网上的龙梦电脑的组成来入手。它的配置如下: 福珑迷你电脑CPU龙芯2E CPU,主频600MHz-900MHz,支持DDR333内存总线,功耗2-4瓦 北桥芯片ICT NB2E (ALTERA EP2C20F484)芯片,功耗0.1-0...
阅读(3977) 评论(1)

龙芯软件开发(3)--常问问题

对于一个新CPU,那就有很基本的问题要搞清楚的。现在把想到的问题列表如下:1.CPU指令是什么?答:MIPS指令。2.什么是MIPS?答:MIPS的名字为“Microcomputer without interlocked pipeline stages”的缩写。另外一个通常的非正式的说法是“Millions of instructions per second”。3.编译工具...
阅读(3839) 评论(1)

龙芯软件开发(2)--汇编资料

要开发龙芯,那么要先学习一下它的汇编。而它的汇编跟MIPS的相似,这样的话,就只能拿MIPS32的先来学习了。下面就是一些资料的连接。MIPS Assembly Language Programminghttp://www.eecs.harvard.edu/~ellard/Courses/cs50-asm.pdfMIPS Assembly Language Programmer’s Guide...
阅读(4020) 评论(2)

龙芯软件开发(1)--BIOS资料

要想开发龙芯,首先要找点资料,学习好以后再去实践。目前就在找资料和看资料的过程,当拿到龙芯电脑时,就可以自己开发了。  龙芯2E用户手册.pdf   http://www.china-cpu.org.cn/bbs/attachment.php?aid=236   龙芯本地编译工具链   http://www...
阅读(5305) 评论(2)

非常高兴可以订购到龙芯电脑

 从新闻上看到龙芯CPU发布,到现在看到龙芯电脑的发布,真是太让人兴奋!这是自己的CPU啦,一定要支持一把。本来打算买一块ARM9开发板的,看到龙芯的电脑更好用。决定买一台龙芯的电脑,立即就上网查看龙梦公司的地址,然后就去发EMAIL过去,让他们确认一下。最后通过了他们的确认,就这样就可以订购到龙芯电脑了。 希望早一点拿龙芯电脑,然后再上面玩玩,以后第一时间向大家报告的。还想在上面...
阅读(3810) 评论(10)
24条 共2页1 2 下一页 尾页
    个人资料
    • 访问:5574844次
    • 积分:72912
    • 等级:
    • 排名:第25名
    • 原创:1584篇
    • 转载:61篇
    • 译文:11篇
    • 评论:2082条
    文章存档
    最新评论