- 博客(24)
- 资源 (44)
- 收藏
- 关注
原创 龙芯软件开发(14)--串口输出
串口输出东西太重要了,因此,再来仔细地看看串口调用的其它函数,这样做到一目了然,没有别的疑问在里面,就可以做到庖丁解牛游刃有余。像下面的函数:PRINTSTR(" CONFIG=")上面这句,就是输出一串字符到串里显示出来。其实它是一个宏定义,那么它是怎么样实现输出字符串到串口上的呢?立即去找到它的宏定义,然后把它展开,最后看看它是怎么样的。宏定义如下:#define PRINT
2006-12-31 14:52:00 8179 1
原创 龙芯软件开发(13)--配置南桥进入调试新天地
前面已经介绍到要初始化南桥,现在就来看看南桥是怎么样初始化,并且更重要的工作,就是怎么样初始化串口输出东西。先来看superio_init实现代码: #define PCICONF_WRITEB(dev,func,reg,data) / li a0,CFGADDR(dev,func,reg); / li a1,PHYS_TO_UNCACHED(PCI
2006-12-30 16:09:00 6265
原创 龙芯软件开发(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
2006-12-29 12:57:00 5682 3
原创 龙芯软件开发(11)--龙芯2E运行的第一行程序
天生万物,万物始于天。同样,龙芯2E要运行起来,那么就少不了程序。那么龙芯2E的盘古开天是从那里开始呢?追源寻根,才能了解事物的来龙去脉,才能把握住未来的方向。现在就去寻找龙芯电脑运行的第一行程序,去看看龙芯的初始化阶段都做了些什么事情,有没有做坏事情呢?哈哈,这个很难说的。如果有BUG的出现,就会干出各种各样的坏事情。 龙芯2E的内存布局已经说明它要从那里加载第一行程序了,很明确的地址就
2006-12-28 16:42:00 6561 3
原创 龙芯软件开发(10)--龙芯2E指令
每个CPU都有自己独特的指令,比如X86结构的CPU有INTEL的指令系统,MIPS的CPU也有自己的指令系统,当然龙芯CPU也不例外,有自己的指令系统。指令是控制CPU怎么样工作的接口,每条指令都会让CPU做出响应的。如果发送一条不是CPU的指令,就会导致CPU非法执行,并且会引起CPU异常。龙芯里,每条指令都是固定长度:32位,4个字节。因此,任何指令段的代码长度,一定要是4字节的倍数,绝
2006-12-27 13:35:00 7223 4
原创 龙芯软件开发(9)--理解龙芯2E几个汇编问题
在以前的MIPS机器里,都需要进行如下处理: 1. 加载或保存到内存. 2. lw $9, 0($8) ; 从内存里加载一个值到$93. nop ; $9在这里还没有准备好,所以要跑多一条空指令来解决。4. addiu $10, $9 ; $9在这里已经从内存取值回来,可以使用了。 5. 分支和跳转. 6. jal myfunc ;
2006-12-26 15:46:00 4178
原创 龙芯软件开发(8)--理解龙芯2E寄存器和内存布局
对于软件开发人员来说,一个CPU最重要的部分就是寄存器、内存布局和指令。龙芯2E逻辑上是有32个定点通用寄存器(其中0号固定为0),32个浮点寄存器,一个hi,一个lo,以及若干cp0控制寄存器,两个cp1控制寄存器。物理上是64个定点,64个浮点,和若干控制寄存器。龙芯2E具有下面的逻辑寄存器:l 32个通用的64位寄存器l 1个PC寄存器l
2006-12-25 13:48:00 4956
原创 龙芯软件开发(7)--编译PMON指南
编译PMON指南蔡军生 为了学习怎么样开发龙芯的BIOS,也就是PMON。经历好几天深夜的探索,遇到各种各样的问题,后来又上论坛问到kkmao,总算解决了,在这里谢谢kkmao的帮忙。现在就把我的编译过程介绍一下。 一、下载SVN工具由于要下载PMON代码,就要使用SVN工具。目前,所有的代码都是按版本控制形式保存在服务器上的,并且没有打包的代码,这样就需要使用SVN的工具
2006-12-24 10:27:00 8932
原创 龙芯软件开发(6)--CPU龙芯2E
在开发软件中,对于CPU的了解就是最重要的了。无论什么指令都需要CPU来执行。现在就来看看龙芯2E的具有什么特征了。 龙芯2号增强型处理器(简称“龙芯2E”)是中国科学院计算技术研究所研制的、具有自主知识产权的64位高性能通用处理器,龙芯2E的最高主频率达到1GHz,最高双精度浮点运算速度每秒39.93亿次,SPEC CPU2000性能测试达到500分,是目前全球除美日之外性能最高的通用处
2006-12-23 13:10:00 4606
原创 龙芯软件开发(5)--北桥南桥芯片的作用
北桥是基于Intel处理器的个人电脑主板芯片组两枚芯片中中的一枚。北桥设计用来处理高速信号,通常处理CPU,RAM,AGP端口或PCI Express,还有南桥之间的通信。 北桥芯片(North Bridge)是主板芯片组中起主导作用的最重要的组成部分,也称为主桥(Host Bridge)。一般来说,芯片组的名称就是以北桥芯片的名称来命名的,例如英特尔 845E芯片组的北桥芯片是82845E,
2006-12-23 12:39:00 7337 1
原创 龙芯软件开发(4)--主要芯片介绍
要对龙芯电脑开发,也需要了解硬件的组成,这样才可以对它进行编写相应的驱动程序和使用。现在就来了解一下龙芯电脑的主要芯片组成,下面先从网上的龙梦电脑的组成来入手。它的配置如下: 福珑迷你电脑CPU龙芯2E CPU,主频600MHz-900MHz,支持DDR333内存总线,功耗2-4瓦 北桥芯片ICT NB2E (ALTERA EP2C20F484)芯片,功耗0.1-0
2006-12-22 13:09:00 4697 1
原创 龙芯软件开发(3)--常问问题
对于一个新CPU,那就有很基本的问题要搞清楚的。现在把想到的问题列表如下:1.CPU指令是什么?答:MIPS指令。2.什么是MIPS?答:MIPS的名字为“Microcomputer without interlocked pipeline stages”的缩写。另外一个通常的非正式的说法是“Millions of instructions per second”。3.编译工具
2006-12-21 20:08:00 4319 1
原创 龙芯软件开发(2)--汇编资料
要开发龙芯,那么要先学习一下它的汇编。而它的汇编跟MIPS的相似,这样的话,就只能拿MIPS32的先来学习了。下面就是一些资料的连接。MIPS Assembly Language Programminghttp://www.eecs.harvard.edu/~ellard/Courses/cs50-asm.pdfMIPS Assembly Language Programmer’s Guide
2006-12-21 13:13:00 4597 2
原创 龙芯软件开发(1)--BIOS资料
要想开发龙芯,首先要找点资料,学习好以后再去实践。目前就在找资料和看资料的过程,当拿到龙芯电脑时,就可以自己开发了。 龙芯2E用户手册.pdf http://www.china-cpu.org.cn/bbs/attachment.php?aid=236 龙芯本地编译工具链 http://www
2006-12-20 15:09:00 6149 1
原创 非常高兴可以订购到龙芯电脑
从新闻上看到龙芯CPU发布,到现在看到龙芯电脑的发布,真是太让人兴奋!这是自己的CPU啦,一定要支持一把。本来打算买一块ARM9开发板的,看到龙芯的电脑更好用。决定买一台龙芯的电脑,立即就上网查看龙梦公司的地址,然后就去发EMAIL过去,让他们确认一下。最后通过了他们的确认,就这样就可以订购到龙芯电脑了。 希望早一点拿龙芯电脑,然后再上面玩玩,以后第一时间向大家报告的。还想在上面
2006-12-19 18:01:00 4417 9
原创 有惊无险安装IE7
还在为IE7无法安装而发愁吗?还在为系统担忧吗?一次性解决正版验证!1.下载并解压iecustom.rar2.然后将IE7-WindowsXP-x86-enu.exe解压到任意地方3.进入updata文件夹4.替换iecustom.dll为刚才解压出来的破解文件(iecustom.dll)5.运行updata.exe安装完成后请注意重启系统!重新启动,结果找不到一个文件normaliz
2006-12-19 13:11:00 3059 3
原创 JAVA虚拟机源码学习笔记之二
JAVA虚拟机源码学习笔记之二 要想编译JAVA的HotSpot虚拟机,就要仔细地做好准备工作才能编译它。这里主要介绍在Windows平台下的编译要求。 平台:操作系统要Windows NT 4.0以上的x86兼容机,CPU要求高于486,内存多于32M。 工具:编译工具VC++ 6.0(并且带有nmake 版本是1.62.7022以上)。还需要下载MKS Took
2006-12-15 10:15:00 4819 1
原创 JAVA虚拟机源码学习笔记之一
JAVA虚拟机源码学习笔记之一 前几天,从网上看到各大网站大力地喧传,说JAVA开源了,心里想有这等好事情,得赶紧去下载代码来看看,学习别人代码,就是可以提高自己的水平,这是刻不容缓的事情。 第一步,到网站上下载源程序:http://www.java.net/download/openjdk/jdk7/promoted/b03/hotspot-7-ea-src-b03-3
2006-12-07 14:35:00 9202 4
原创 学习C++模板---模板类作为基类,使用参数类
学习C++模板---模板类作为基类,使用参数类在模板里还可以使用参数类来实现多态。 // atl009.cpp : Defines the entry point for the console application.//////#include "stdafx.h"#include #include //学习C++模板(9)。//使用vc++
2006-12-07 11:07:00 4726
原创 学习C++模板---模板类作为基类
学习C++模板---模板类作为基类使用模板类作为基类使用。 // atl007.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include #include ////学习C++模板(7)。//使用vc++ 2005编译运行, 操作系统XP
2006-12-07 11:00:00 7281
原创 学习C++模板---模板类带简单参数,并且添加缺省参数,特例模板
模板类不但可以定义类型,还可以定义普通参数类型。在定义类型时,还可以使用缺省参数。虽然模板可以通用,但有时需要进行特别类型的特别对待,这样就需要使用特例模板。下面的模板templateclass CTestVectorshort, 2 >,就是特例模板。 // atl005.cpp : Defines the entry point for the console app
2006-12-06 13:01:00 3319
原创 学习C++模板---模板类带简单参数,并且添加缺省参数
模板类不但可以定义类型,还可以定义普通参数类型。在定义类型时,还可以使用缺省参数。 // atl005.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include #include ////学习C++模板(3)。//蔡军生/12/05//
2006-12-06 12:52:00 2802
原创 学习C++模板---模板类带简单参数
学习C++模板---模板类带简单参数模板类不但可以定义类型,还可以定义普通参数类型。 // atl004.cpp : Defines the entry point for the console application.// #include "stdafx.h"#include #include ////学习C++模板(3)。//蔡军生/
2006-12-06 12:48:00 2702
原创 学习C++模板---模板函数
学习C++模板---模板函数模板函数可以解决类型通用性的函数。比如不同的数据类型获取最大值。 // atl002.cpp : Defines the entry point for the console application.// #include "stdafx.h"#include #include ////学习C++模板(1)。//
2006-12-05 15:15:00 2953 1
python抓取天气并分析 实例源码
2017-08-28
书《深度学习》
2017-03-13
国产8051模拟器
2016-09-10
tinyxml2配套源码
2016-06-27
selenium的浏览器驱动
2016-06-14
开源鸿蒙4.0不能进入桌面的补丁
2024-03-17
开源鸿蒙 4.0 RK3566开发板配置
2024-03-17
svm_hog_data.rar
2020-03-02
实现numpy的C++库扩展
2019-11-24
python web py入门配套源代码
2018-02-23
webpy演示例子1
2018-02-21
胶囊模型的代码
2018-02-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人