友情链接:飘渺阁、Ubuntu修炼地

摘要: Part1前言最近在研究OK6410开发板;但windows下的rvds真是不好用,烧写程序到开发板还需要dnw,而这各种软件都要在win下搞,很是憋屈,而且64位的win7还出各种问题。我要移植的是Linux系统呢,咋的就不能在linux完成所有步骤呢?昨晚到处查找资料,总算找到了dnw可在linux成功运行的消息;又遇到了linux下的串口连接终端minicom和kermit; 不断折腾和测试,总算搞定了dnw和usb下载的问题;后面的路就开阔多了!记下各种资源和心得,和大家分享。Part2工具准备2.1 串口终端kermit这个直接命令安装就可以了,另外需要简单熟悉一下他的配置和两种模式 阅读全文
posted @ 2012-11-16 16:06 Neo Nengrong Qu 阅读(14244) 评论(9) 推荐(4) 编辑
摘要: Part0 准备知识0.1 关键参数说明0.1.1 开发板说明OK6410是飞凌公司发布的一款开发板,当前有2个版本,OK6410-A和OK6410-B,我当前使用的是前者;前者也经历过升级,所以有128M ram的和较新的256内存的版本,nand flash大小也有区别,当前新的为4G,内存大小会影响到编译时smdk6410.c文件中mmu部分代码,后续会提到,可以参考飞凌提供的u-boot的该文件内容;0.1.2 处理器说明该开发板使用的是三星的s3c6410处理器, cup采用的指令集为: arm1176jzf-s, 属于armv6zk(使用gcc时,可通过-march=armv6zk 阅读全文
posted @ 2012-11-15 19:00 Neo Nengrong Qu 阅读(2769) 评论(0) 推荐(0) 编辑
摘要: 8086汇编语言初学者教程(第5部分)常用函数库 - emu8086.inc通过引用一些常用函数,可以使你编程更加方便。在你的程序中使用其他文件中的函数的方法是INCLUDE后面接上你要引用的文件名。编译器会自动在你源程序所在的文件夹中查找你引用的文件,如果没有找到,它将搜索Inc文件夹。通常你无法完全理解emu8086.inc(位于Inc文件夹)但是这没有关系,你只用知道它能做什么就足够了。要使用emu8086.inc中的函数,你应当在你程序的开头加上include 'emu8086.inc'emu8086.inc定义了如下的宏:PUTC char- 将一个ascii字符输出 阅读全文
posted @ 2012-11-07 01:59 Neo Nengrong Qu 阅读(4666) 评论(2) 推荐(2) 编辑
摘要: 8086汇编语言初学者教程(第四部分)中断 中断是一系列功能调用。这些功能调用使得编程更加容易。比如,你想在打印机上输出一个字符,你只需要简单的调用中断,它将帮你完成所有的事情。另外还有控制磁盘和其他硬件工作的中断。我们将这些功能调用称作软件中断。不同的硬件同样可以触发中断,这些中断称作硬件中断。这里,我们只介绍软件中断(software interrupts)。 触发一个软件中断,需要使用INT指令,它的使用方式非常简单: INT value上面value的取值范围是从0到255(或者0到0ffh),通常我们使用十六进制。你也许猜测只有256个中断调用,但是这是不正确的。因为每一个中断都有子 阅读全文
posted @ 2012-11-07 01:48 Neo Nengrong Qu 阅读(4064) 评论(0) 推荐(0) 编辑
摘要: 8086汇编语言初学者教程(第三部分)变量变量是一个内存地址。对于编程者来说,使用诸如名称为“var1”这样的变量保存数据远远比使用5a73:235b这样的地址容易的多。特别是当你使用10个以上的变量的时侯。编译器支持这两种变量BYTE和WORD.(字节和字)声明变量的方法:nameDBvalue名称 DB 值nameDWvalue名称 DW 值DB- stays forDefineByte.DW- stays forDefineWord.name-可以是任何字母与数字构成,但是必须由字母开头。可以通过不命名来声明一个没有名称的的变量(这个变量只有地址,没有名称)value- 可以是任何数值支 阅读全文
posted @ 2012-11-07 01:37 Neo Nengrong Qu 阅读(16237) 评论(2) 推荐(1) 编辑
摘要: 8086汇编语言初学者教程(第二部分)寻址方式我们可以通过下面的四个寄存器来寻址BX, SI, DI, BP. 通过计算[]符号中的值,我们可以访问到不同内存单元的值。具体组合请看下表:[BX + SI][BX + DI][BP + SI][BP + DI][SI][DI]d16 (variable offset only)[BX][BX + SI] + d8[BX + DI] + d8[BP + SI] + d8[BP + DI] + d8[SI] + d8[DI] + d8[BP] + d8[BX] + d8[BX + SI] + d16[BX + DI] + d16[BP + SI] + 阅读全文
posted @ 2012-11-07 01:23 Neo Nengrong Qu 阅读(9487) 评论(0) 推荐(0) 编辑
摘要: 8086汇编语言初学者教程(第一部分)本教程是为从未接触过汇编语言的或者略知一二的朋友编写的。当然,如果你有其他语言基础(Basic, C/C++, Pascal...) 更好。但是,即使你熟悉汇编语言,最好也将本文通读以便熟悉Emu8086 标记。这里假定您已经掌握了关于数制的知识(十六进制/二进制),如果目前还没有,在进行下面内容之前,请参考上一章节进制。什么是汇编语言? 汇编语言是底层编程语言。为了学习这门语言,你需要对于计算机结构有所了解。计算机系统模型如下:系统总线 system bus(图中黄色部分)是将计算机各个部分连接到一起的部件。CPU是计算机的心脏,大部分的运算都是在CP. 阅读全文
posted @ 2012-11-07 01:08 Neo Nengrong Qu 阅读(12464) 评论(0) 推荐(0) 编辑
摘要: 基础知识什么是进制?对于同一个数字有很多表示方式。很久很久以前人们用棍子计数,后来学会在地上画棍子,最终画在纸上.比如:|||||(5根棍子)罗马人使用不同的符号表示棍子数目:|||仍然表示3根棍子,而用V表示5根棍子用X表示10根~在当时,使用棍子计数是伟大的发明.用符号代替棍子更是如此.如今采用十进制系统表示数字是最好的方法之一.之所以这样说是因为它实现了用符号表示"没有"这一重要思想(3个XX?)1500年前的印度,零(0)第一次被看作一个数字.稍后,这一概念在中东阿拉伯地区使用,最终传播到西方拉美国家。在下面的学习中,你会逐渐认识到这个思想对于现代数字系统是多么重要。十进制系统目前使用 阅读全文
posted @ 2012-11-07 00:47 Neo Nengrong Qu 阅读(3865) 评论(0) 推荐(0) 编辑
摘要: 1、先编写一个简单的hello模块,hello.c 源码如下: 1 #ifndef __KERNEL__ 2 # define __KERNEL__ 3 #endif 4 #ifndef MODULE 5 # define MODULE 6 #endif 7 8 // 下面的是主要的内容 9 #include <linux/kernel.h>10 #include <linux/module.h>11 #include <linux/init.h>12 13 MODULE_LICENSE("GPL");14 15 static int y 阅读全文
posted @ 2012-10-23 22:35 Neo Nengrong Qu 阅读(21552) 评论(0) 推荐(1) 编辑
摘要: 今天使用了一个光盘后,可以正常挂载和卸载,但是光驱不弹出,所以无法取出光盘;使用笔记本的弹出快捷键Fn+弹出键也没有反应;后查找ubuntu上弹出光盘的命令,结果提示出错:$eject # 弹出光驱eject: unable to find or open device for: `cdrom'提示无法找到cdrom,然后查看dev下的内容,也没有发现cdrom:$ls /dev/alarm fb0 loop4 ptmx ram8 sda7 tty11 tty26 tty40 tty55 tty... 阅读全文
posted @ 2012-10-23 14:38 Neo Nengrong Qu 阅读(9878) 评论(0) 推荐(0) 编辑
我思故我在、身在尘嚣中、思飞九天外 ...