|
楼主 |
发表于 22-4-2009 11:09 PM
|
显示全部楼层
回复 19# GM119 的帖子
128…那不要有gui比較好
勉強一點,灌xcfe或lxde
再優化可能需要重編 kernel,
但幫助可能也不大 |
|
|
|
|
|
|
|
发表于 23-4-2009 05:59 PM
|
显示全部楼层
回复 21# 詩魂 的帖子
什么是gui ,xcfe或lxde?是另一版本吗? |
|
|
|
|
|
|
|
发表于 23-4-2009 09:12 PM
|
显示全部楼层
原帖由 GM119 于 22-4-2009 07:09 PM 发表
小弟拿P3 128 ram 的旧电脑灌utunbu,可用,但很慢,给一个指令要等几秒,是否还可优化?
还是因为ram太小就是这样慢。
不要這樣折磨 Ubuntu 拉。即是 Xubuntu XFCE 或 LXDE Gui 也是很勉強罷了。
最好還是選擇比較低檔的 Distro 如 Puppy Linux 等等之類的。要不然就不要使用 GUI。 |
|
|
|
|
|
|
|
发表于 24-4-2009 05:36 PM
|
显示全部楼层
懂得嵌入式Linux的人不是开玩笑。
懂得驱动程式与内核开发更恐怖,个个技术狂。
|
|
|
|
|
|
|
|
发表于 2-5-2009 01:00 AM
|
显示全部楼层
很有回到读书时代的感觉 。。。这篇要找时间好好的看。 |
|
|
|
|
|
|
|
发表于 9-5-2009 04:27 PM
|
显示全部楼层
電腦開發者預先編好了供系統啟動使用的啟動程式,把它們存放在ROM中,並安排它到一個固定的位置,即FFFF:0000,CPU就從BIOS中獲得了啟動所需的指令集。
应该是FFFF:FFF0 吧? |
|
|
|
|
|
|
|
楼主 |
发表于 9-5-2009 09:34 PM
|
显示全部楼层
回复 26# jcmxwl_II 的帖子
jcmxwl_II您好,
應該是FFFF:0000(或ffff0)沒錯 |
|
|
|
|
|
|
|
发表于 20-5-2009 10:10 PM
|
显示全部楼层
原帖由 詩魂 于 9-5-2009 09:34 PM 发表 jcmxwl_II您好,應該是FFFF:0000(或ffff0)沒錯 在Intel的处理器, 肯定是FFFF:FFF0 |
|
|
|
|
|
|
|
发表于 20-5-2009 10:34 PM
|
显示全部楼层
是 FFFF0 即 FFFF:0000。
physical address 为 FFFF, offset 为 0 即 0xFFFF:0000 , absolute address = physical address + offset, 即 FFFF0 . 诗魂兄的没错。
这是 x86 的标准了 |
|
|
|
|
|
|
|
发表于 20-5-2009 10:53 PM
|
显示全部楼层
要证实的话很简单。用 msdos 的 debug 就行, xp 里面也有
command prompt 输入 debug
-d ffff:0000 -> 开始, 你的bios creation date, 然后 etc 。。。
-d ffff:fff0 -> 空白 |
|
|
|
|
|
|
|
发表于 20-5-2009 11:26 PM
|
显示全部楼层
忘了介linux的, 这里是linux区嘛
我们用个hexdump 就行了。 由于要check的是ram, 直接读/dev/mem, 不过要root permission la, 毕竟是 ram 嘛, 等一下, 不然哟过户随便来dd dd if=/dev/zero of=/dev/mem .. 呵呵。。。。
进入正题拉
sudo hexdump /dev/mem -n 100 -s 0xfffe0 -C
或
sudo cat /dev/mem | hexdump -n 100 -s 0xfffe0 -C
反正都没差拉
对象是 /dev/mem , -n 100 就是读取 100 个单位, -s 是 skip offset, 前面的 fffe0 行久不要了, ( 这个是亿 absolute add 算 )-C 是分成 16 单位, 8 个单位间隔。。 这个是方便好看拉。 不然一堆字幕, 不懂是什么来的。
000fffe0 00 60 03 3c e7 45 84 01 00 05 80 00 c0 01 67 72 |.`.<.E........gr|
这里是FFFF:0000
000ffff0 ea 5b e0 00 f0 31 32 2f 33 31 2f 30 37 00 fc f5 |.[...12/31/07...|
00100000 f6 86 11 02 00 00 40 75 14 0f 01 15 22 71 68 00 |......@u...."qh.|
00100010 b8 18 00 00 00 8e d8 8e c0 8e e0 8e e8 fc 31 c0 |..............1.|
00100020 bf 00 c0 7b 00 b9 2c c5 87 00 29 f9 c1 e9 02 f3 |...{..,...).....|
00100030 ab bf c0 12 77 00 b9 00 04 00 00 fc f3 a5 8b 35 |....w..........5|
00100040 e8 14 77 00 |..w.|
至于 ffff:fff0, 这个abosulute add 就是 ffff0 + fff0 = 10ffe0
我们offset 就 set 10ffe0 把, 结果
00101000
没东西了。。 |
|
|
|
|
|
|
|
发表于 21-5-2009 12:05 AM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 21-5-2009 12:18 AM
|
显示全部楼层
回复 32# 糯米鸡 的帖子
F000:FFF0 即 FFFF:0000
F0000
+ FFF0
--------------------
FFFF0
FFFF:0000 |
|
|
|
|
|
|
|
发表于 21-5-2009 12:21 AM
|
显示全部楼层
原帖由 onlylonly 于 21-5-2009 12:18 AM 发表 F000:FFF0 即 FFFF:0000 F0000+ FFF0-------------------- FFFF0FFFF:0000 这是不一样的。处理器第一个跑的指令, 是在 0xFFFFFFF0,不是0xFFFF0。 你去找reset vector这个你就知道了。 |
|
|
|
|
|
|
|
发表于 21-5-2009 12:37 AM
|
显示全部楼层
回复 34# 糯米鸡 的帖子
The BIOS in Detail
Virtually every PC, since the very first IBM® Personal Computer produced in 1981 to the latest Intel® or even AMD® based PC, has had exactly the same Memory address hard-wired into its CPU as a reference for its first instruction! This means every PC's CPU will always begin executing machine code instructions from essentially the same location inside any BIOS chip used to boot-up the system. That address is:
F000:FFF0 (in Segment:Offset notation) or: FFFF0h (in Linear notation). You may also find it represented by FFFF:0000 [as it was recorded in IBM's original Technical Reference manual; P/N 6025008] or as just FFFF:0 (in Normalized Segment:Offset notation). [To understand why the Segment:Offset pair F000:FFF0 is also equivalent to FFFF:0, read this page on Memory Segments.]
http://mirror.href.com/thestarman/asm/mbr/PCboot.htm
Upon starting, a personal computer's x86 CPU runs the instruction located at the memory location CSP FFFF:0000 of the BIOS, which is located at the 0xFFFF0 address. This memory location is close to the end of the 1MB of system memory accessible in real mode. It typically contains a jump instruction that transfers execution to the location of the BIOS start-up program. This program runs a power-on self test (POST) to check and initialize required devices. The BIOS goes through a pre-configured list of non-volatile storage devices ("boot device sequence" until it finds one that is bootable. A bootable device is defined as one that can be read from, and the last two bytes of the first sector contain the word 0xAA55 (also known as the boot signature).
http://en.wikipedia.org/wiki/Booting |
|
|
|
|
|
|
|
发表于 21-5-2009 12:59 AM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 21-5-2009 08:52 AM
|
显示全部楼层
cpu 的 reset vector现在是在0xFFFFFFF0, 0xFFFF0是很久以前的。
我是做cpu debug的, 所以我知道这一些。你可以参考:
1。 Intel® 64 and IA-32 Architectures Software Developer’s Manual Volume 3A: System Programming Guide, Part 1, chapter 8.12
2。AMD64 Architecture Programmer’s Manual Volume 2: System Programming, chapter 14.13 |
|
|
|
|
|
|
|
发表于 21-5-2009 10:41 AM
|
显示全部楼层
回复 37# 糯米鸡 的帖子
真的不知道要怎么样说你才好。
0xFFFFFFF0 是 protected mode 的了
在real mode, 依然是 0xFFFF0 , 也就是 processor 当他是在 FFFF0。
虽然实际上是 FFFFFFF0, 但是 adress 是 truncated 的。。
而 bios 的位置在 FFFF:0000 没错 |
|
|
|
|
|
|
|
发表于 21-5-2009 10:47 AM
|
显示全部楼层
每一次hard reset, processor 一定是在 real mode, load 完重要的的, 才能切换为 protected mode |
|
|
|
|
|
|
|
发表于 21-5-2009 11:09 AM
|
显示全部楼层
原帖由 onlylonly 于 21-5-2009 10:41 AM 发表 真的不知道要怎么样说你才好。0xFFFFFFF0 是 protected mode 的了在real mode, 依然是 0xFFFF0 , 也就是 processor 当他是在 FFFF0。虽然实际上是 FFFFFFF0, 但是 adress 是 truncated 的。。而 b ... 你不需要和我解释, 你听我讲的, 去参考我上面讲的两本specification。 你的处理器power on 或 reset 时, 在第一个指令时, 是在big real mode的情况。我已经和你讲过了, 我是从事cpu debug的, 这些东西, 我多少都知道一些。 |
|
|
|
|
|
|
| |
本周最热论坛帖子
|