百问网Linux技术区Linux系统开发 《嵌入式Linux应用开发完全手册》第1版第1次印刷堪误表

1  /  6  页   123456 跳转 查看:14757

《嵌入式Linux应用开发完全手册》第1版第1次印刷堪误表

《嵌入式Linux应用开发完全手册》第1版第1次印刷堪误表

由网友“ARM-闲”建议,堪误写成日志形式,但是在后面会贴出完整的堪误。

一、堪误日志:
1. 2008.08.19 22:10
    第182页,《2. I2C总线的信号类型》的第2点:“SCL为低电平时”改为“SCL为高电平时”
2. 2008.08.19 23:00
    第131页,图8.6左边的“00H”改为“80H”
3. 2008.08.19 23:54
    第149页,第4行:“RIORITY”改为“PRIORITY”
4. 2008.08.22 00:12
    第74页,第3行灰色的代码:“../ linux-2.6.22.6_ok.diff”改为“../linux-2.6.22.6_ok.diff”,“linux”前没有空格
5. 2008.08.22 00:16
    第69页,第1行灰色的代码的下一行:“/homt/book”改为“homt/book”
6. 2008-08-22 17:34
    第402页,倒数11行:“irqactio”改为“irqaction”
    第406页,第2、11、13、17行:“requet_irq”、“reqeust_irq”都改为“request_irq”
7. 2008-08-22 18:08
    第498页,第6行:“非常生动地了”改为“非常生动地描述了”
8. 2008.08.23 10:22
    第11页,倒数第2行,“UARG”改为“UART”
9. 2008.08.23 13:38
    第219页,页面中间:“参考表13.3”改为“参考表13.14”
10. 2008.08.23 13:50
    第188页,倒数第9行:“/work/hardware i2c”改为“/work/hardware/i2c”
11. 2008.08.24 00:50   
    光盘上压缩包hardware.tar.bz2里的4个文件:adc_ts/Makefile、i2c/Makefile、lcd/Makefile和stdio/Makefile,
    都作如下修改:
    “export  CC LD OBJCOPY OBJDUMP INCLUDEDIR CFLAGS CPPFLAGS”
    改为:
    “export  CC LD OBJCOPY OBJDUMP INCLUDEDIR CFLAGS CPPFLAGS AR”
    增加了一个“AR”。
12. 2008.09.04 15:53
    第135页,“(2)”开头的那行:“S4C2410”改为“S3C2410”
13. 2008.09.04 15:54
    第367页的,18.2.2的第二段“如果/work/system/linux-2.6.22.6曾经了应用补丁……”,整段删除14. 2008.09.05 16:27
   

P163,第10行:“TCNTn的值时反转”改为“TCNTn的值等于0时反转”


    P164,(5)点中的第4小点中的第3行,“除定时器因为没有输出引脚”改为“除定时器4因为没有输出引脚”


    P169,第1段代码:


128  * 本实验的Timer0的时钟频率=100MHz/(99+1)/(16)=62500Hz
改为:
128  * 本实验的Timer0的时钟频率=50MHz/(99+1)/(16)=31250Hz

135    TCNTB0 = 31250;    // 0.5秒钟触发一次中断
改为:
135    TCNTB0 = 15625;    // 0.5秒钟触发一次中断


14. 2008.09.10 13:56
    第7页,中间部分“(3) ARM9E”的上一句,“ARM7系列”改为“ARM9系列”
   

第13页,倒数第二行:“Gest”改为“Guest”


15. 2008.09.10 13:58


    第315页,倒数第2段文字:删除“

注意,这些信息是U-Boot打印的”,这些信息是内核的misc.c文件解压内核时打印的

16. 2008.09.10 17:46

    第79页,例5.4:“udwVal”改为“dwVal”


    第86页,最后一段:“ARM9 嵌入式系统基础实篇”改为 “ARM9 嵌入式系统基础实篇”

17. 2008.09.23 05:33
  第179页,第4行:“寄存器的位[1]”改为“寄存器的位[0]”
18. 2008.09.23 05:34
  第110页,“(2) 回写式”的下面一行:“为了克服贯穿式”改为“为了克服写穿式”
  第119页,倒数第9行:“即所谓的写回式”改为“即所谓的回写式”
19. 2008.09.23 05:37
  第202页,第(5)小点中频率计算公式少了个右括号:VCLK(Hz) = HCLK / [(CLKVAL + 1) * 2]
20. 2008.09.23 05:39
  第224页,“14.1.2 S3C3410/S3C2440 ADC接口的使用方法”:“S3C3410”改为“S3C2410”
21. 2008.09.26 12:40
  第15章,“(3)增加对S3C2440的支持”小节,漏了一点:
  修改include/s3c24x0.h文件,在S3C24X0_CLOCK_POWER结构中增加“S3C24X0_REG32  CAMDIVN”:
typedef struct {
    S3C24X0_REG32  LOCKTIME;
    S3C24X0_REG32  MPLLCON;
    S3C24X0_REG32  UPLLCON;
    S3C24X0_REG32  CLKCON;
    S3C24X0_REG32  CLKSLOW;
    S3C24X0_REG32  CLKDIVN;
    S3C24X0_REG32  CAMDIVN;    /* for s3c2440, by www.100ask.net */
} /*__attribute__((__packed__))*/ S3C24X0_CLOCK_POWER;

22. 2008.10.24 01:31
P25第2段灰色代码,“game: /work”之间没有空格,改为“game:/work”
P41第2行,“位置无关”改为“位置相关”
第172页 “(1)”“(5)”开头的两行:“空闭”改为“空闲”
180页,第7行:“/homt/book”改为“/home/book”
P183  图12.5  中第四个小图 “10为地址模式下的写操作格式” 应为“10为地址模式下的读操作格式”,图的数据流向有误:

P203 第9行  "256色(8pp)"改为 256色(8BPP)"
P253页,“include/config”都改为“include/configs”
P255  第2段文字第2行,“cpu/arm920t/  libarm920t.a”应无空格,改为“cpu/arm920t/libarm920t.a”
第265页倒数第2行,“BANK2”改为“BANK3”
P289页,“(3)内存操作命令”下面一行:“修改内存命令md”改为“修改内存命令mm”
P306页,中间“注意”上面第2行,“第126”改为“第1267行”
        “注意”的内容:“第256行”改为“第1256行”
P308页 最后一行,“choise条目”改为“choice条目”
P311页 第三行:“DAM功能”改为“DMA功”
P317第12行,P319第10行,P320中间,P321倒数第9行:“__lookup_machine_typ函数”少个e,应该是“__lookup_machine_type”
P330页 “16.3.4”上面一行:“panci信息”改为“panic信息”
P332页,底部“③”开头那行:“支持yaffs1文件系统”改为“支持yaffs2文件系统”
P333第3行,“这8个字节”改为“这6个字节”
第355页,第一个灰块中的第二行注释 “/* devpts”改为:“/* /dev/pts”

23. 2008.11.13 02:33
P253第11行:
“要手动修改配置文件include/config/<board_name>.h来裁剪、设置U-boot。”
应改为
“要手动修改配置文件include/configs/<board_name>.h来裁剪、设置U-boot。”

24. 2008.11.22 12:00
  105页倒数第7行,
取出页描述符的位[31:12]——即小页基址,
改为:
取出页描述符的位[31:12]--即小页基址,

25. 2009.08.20 11:23
  102页“一级页表的地址必须是16K对齐的(位[14:0]为0)”
改为:
  一级页表的地址必须是16K对齐的(位[13:0]为0)




二、完整堪误:
1. 第5页,倒数14行:“无级通信”改为“无线通信”
    第7页,中间部分“(3) ARM9E”的上一句,“ARM7系列”改为“ARM9系列”
2. 第11页,倒数第2行,“UARG”改为“UART”
   







第13页,倒数第二行:“Gest”改为“Guest”


3. 第26页,第三段命令最后一行,“make install”改为“sudo make install”
4. 第26页,第6行:“games: /work”改为“games:/work”,中间没有空格
5. 第29页,倒数第8行:“如图3.1所示”,改为“如表3.1所示”
6. 第33页,第1行,“-dM-E”改为“-dM -E”,中间有个空格
7. 第47页,第10行,“fEEt,on the street”改为“fEEt,on the strEEt”
8. 第55页,表3.2的下第一行,“Cary”改为“Carry”
9. 第56页,表3.3下面的第2行:“a0-a3”改为“a1-a4”
10. 第57页,倒数第2行:“start_addr”改为“size”
11. 第69页,第1行灰色的代码的下一行:“/homt/book”改为“/home/book”
12. 第74页,第3行灰色的代码:“../ linux-2.6.22.6_ok.diff”改为“../linux-2.6.22.6_ok.diff”,“linux”前没有空格

    第79页,例5.4:“udwVal”改为“dwVal”


13. 第81页,led_on.S,第08行的注解,“位[10:9]”改为“位[11:10]”
14. 第83页,中间那段代码的第6行,“位[10:9]”改为“位[11:10]”
15. 第83页,第1行:“ldr r0,=0x56000010”改为“ldr r0,=0x53000000”
16. 第86页,倒数第2、3行:没有source_ads,本书的实验不能在ADS上运行。以前想写ADS的,后来发现开发Linux的话,ADS没什么用。

    第86页,最后一段:“ARM9 嵌入式系统基础实篇”改为 “ARM9 嵌入式系统基础实篇”


17. 第92页,第18行,“表6.1”改为“表6.2”
18. 第102页,图7.4下面的第二行:“16K对应的(位[14:0]为0)”改为“16K对齐的(位[13:0]为0)”
  105页倒数第7行,
取出页描述符的位[31:12]——即小页基址,
改为:
取出页描述符的位[31:12]--即小页基址,
19. 第112页,表7.3中第3行:“读写数据时都是直接操作主存”改为“读数据时都是直接操作主存”
    第110页,“(2) 回写式”的下面一行:“为了克服贯穿式”改为“为了克服写穿式”
    第119页,倒数第9行:“即所谓的写回式”改为“即所谓的回写式”
20. 第108页,表7.1下面第一句话中“占据4个字节”改为“占据4个比特”
21. 第108页,倒数第2、5行:“0b11”改为“0b01”
22. 第119页,第2行:“第81行命令”改为“第84行命令”
23. 第131页,图8.6左边的“00H”改为“80H”
24. 第135页,“(2)”开头的那行:“S4C2410”改为“S3C2410”
25. 第137页,《4. 发出地址信号》小节,对“NFADDR”进行赋值操作的代码注释中,把“左移”改为“右移”
26. 第147页,图9.4,图中左下角的文字“Request sources(with sub-register)”改为“Request sources(without sub-register)”
27. 第149页,第4行:“RIORITY”改为“PRIORITY”
28. 第162页,图10.4最右的框:“TCONOn”改为“TCNTOn”
      第163页,第10行:“TCNTn的值时反转”改为“TCNTn的值等于0时反转”


      第164页,(5)点中的第4小点中的第3行,“除定时器因为没有输出引脚”改为“除定时器4因为没有输出引脚”

      第169页,第1段代码:

128  * 本实验的Timer0的时钟频率=100MHz/(99+1)/(16)=62500Hz
改为:
128  * 本实验的Timer0的时钟频率=50MHz/(99+1)/(16)=31250Hz

135    TCNTB0 = 31250;    // 0.5秒钟触发一次中断
改为:
135    TCNTB0 = 15625;    // 0.5秒钟触发一次中断


29. 第165,表10.4中第3行第2列:“1”改为“2”,位1为保留位,位2才是中断使能位
      第179页,第4行:“寄存器的位[1]”改为“寄存器的位[0]”
30. 第182页,《2. I2C总线的信号类型》的第2点:“SCL为低电平时”改为“SCL为高电平时”
31. 第187页,第二个“注意”上面,“(10)将0xF0”改为“(10)将0xD0”
32. 第188页,倒数第9行:“/work/hardware i2c”改为“/work/hardware/i2c”
33. 第209页,图13.7有两个“LCDBASEU”,下面一个改为“LCDBASEL”
      第202页,第(5)小点中频率计算公式少了个右括号:VCLK(Hz) = HCLK / [(CLKVAL + 1) * 2]
34. 第215页,倒数第八行:“而调色板中的索引值”改为“而是调色板中的索引值”
35. 第219页,页面中间:“参考表13.3”改为“参考表13.14”
      第224页,“14.1.2 S3C3410/S3C2440 ADC接口的使用方法”:“S3C3410”改为“S3C2410”
36. 第290页,第13行“off、size表示要擦除的开始偏移地址的长度”改为“off、size表示要擦除的开始偏移地址和长度”
37. 第286页,“下面的第301、第421~424行的新加的”改为“下面的第301、第430~435行是新加的”
    紧接着的代码中,增加以下内容:

430        /* skip the first good block when wirte yaffs image, by [url]www.100ask.net[/url] */
431        if (skipfirstblk) {
432            mtdoffset += erasesize_blockalign;
433            skipfirstblk = 0;
434            continue;
435        }


38. 第305页,倒数第5、7、9行,“boot”都改为“bool”
39. 第315页,第3、5行,“smdk2410_defconfig”改为“s3c2410_defconfig”
    第315页,倒数第2段文字:删除“

注意,这些信息是U-Boot打印的”,这些信息是内核的misc.c文件解压内核时打印的


40. 第367页的,18.2.2的第二段“如果/work/system/linux-2.6.22.6曾经了应用补丁……”,整段删除
41. 第373页,第3行:“sudo make install”改为“sudo cp gdb/gdb /usr/bin/arm-linux-gdb”
42. 第389页,第6行:“它的主设备号为2”改为“它的主设备号为3”
43. 第389页,第7行:“表示/dev/ttyS0是个块设备”改为“表示/dev/ttyS0是个字符设备”
44. 第402页,第84行程序的上一行:“irq_desc结构定义如下”改为“irqaction结构定义如下”
45. 第402页,倒数11行:“irqactio”改为“irqaction”
46. 第406页,第2、11、13、17行:“requet_irq”、“reqeust_irq”都改为“request_irq”
47. 第498页,第6行:“非常生动地了”改为“非常生动地描述了”
48. 光盘上压缩包hardware.tar.bz2里的4个文件:adc_ts/Makefile、i2c/Makefile、lcd/Makefile和stdio/Makefile,
    都作如下修改:
    “export  CC LD OBJCOPY OBJDUMP INCLUDEDIR CFLAGS CPPFLAGS”
    改为:
    “export  CC LD OBJCOPY OBJDUMP INCLUDEDIR CFLAGS CPPFLAGS AR”
    增加了一个“AR”。
49.  第15章,“(3)增加对S3C2440的支持”小节,漏了一点:
  修改include/s3c24x0.h文件,在S3C24X0_CLOCK_POWER结构中增加“S3C24X0_REG32  CAMDIVN”:
typedef struct {
    S3C24X0_REG32  LOCKTIME;
    S3C24X0_REG32  MPLLCON;
    S3C24X0_REG32  UPLLCON;
    S3C24X0_REG32  CLKCON;
    S3C24X0_REG32  CLKSLOW;
    S3C24X0_REG32  CLKDIVN;
    S3C24X0_REG32  CAMDIVN;    /* for s3c2440, by www.100ask.net */
} /*__attribute__((__packed__))*/ S3C24X0_CLOCK_POWER;

50.
P25第2段灰色代码,“game: /work”之间没有空格,改为“game:/work”
P41第2行,“位置无关”改为“位置相关”
第172页 “(1)”“(5)”开头的两行:“空闭”改为“空闲”
180页,第7行:“/homt/book”改为“/home/book”
P183  图12.5  中第四个小图 “10为地址模式下的写操作格式” 应为“10为地址模式下的读操作格式”,图的数据流向有误,看上图
P203 第9行  "256色(8pp)"改为 256色(8BPP)"
P253页,“include/config”都改为“include/configs”
P255  第2段文字第2行,“cpu/arm920t/  libarm920t.a”应无空格,改为“cpu/arm920t/libarm920t.a”
第265页倒数第2行,“BANK2”改为“BANK3”
P289页,“(3)内存操作命令”下面一行:“修改内存命令md”改为“修改内存命令mm”
P306页,中间“注意”上面第2行,“第126”改为“第1267行”
        “注意”的内容:“第256行”改为“第1256行”
P308页 最后一行,“choise条目”改为“choice条目”
P311页 第三行:“DAM功能”改为“DMA功”
P317第12行,P319第10行,P320中间,P321倒数第9行:“__lookup_machine_typ函数”少个e,应该是“__lookup_machine_type”
P330页 “16.3.4”上面一行:“panci信息”改为“panic信息”
P332页,底部“③”开头那行:“支持yaffs1文件系统”改为“支持yaffs2文件系统”
P333第3行,“这8个字节”改为“这6个字节”
第355页,第一个灰块中的第二行注释 “/* devpts”改为:“/* /dev/pts”

51. 2008.11.13 02:33
P253第11行:
“要手动修改配置文件include/config/<board_name>.h来裁剪、设置U-boot。”
应改为
“要手动修改配置文件include/configs/<board_name>.h来裁剪、设置U-boot。”




这些错误,都是书友发现的。
谢谢你们,我的工作没做好。
请发现错误的书友直接回复这个贴子,我再把它们合并起来。
最后编辑thisway.diy 最后编辑于 2009-08-20 11:24:53
 

回复:《嵌入式Linux应用开发完全手册》第1版第1次印刷堪误表

108页,表7.1下面第一句话中"Domain"占据4个字节应该是占据4个比特吧,请楼主查证
 

回复:《嵌入式Linux应用开发完全手册》第1版第1次印刷堪误表

是的,谢谢myloveos !
 

回复: 《嵌入式Linux应用开发完全手册》第1版第1次印刷堪误表

第55页表3.2的下第一行 N,Z,C,V分别表示Negative,Zero,Cary,Overflow,中Cary应该是Carry吧?
Carry表示的中文意思是携带,搬运 在这里就应该是进位,英文意思知道了就好记这个C标志了。
说一下,我并不是专门找毛病哈。
 

回复:《嵌入式Linux应用开发完全手册》第1版第1次印刷堪误表

是的,应该改为Carry。
我要谢谢你,怎么你反而不好意思起来了
 

回复:《嵌入式Linux应用开发完全手册》第1版第1次印刷堪误表-我来找一个

305页,"第1255行中boot表示变量类型",应该是bool类型吧

倒数第5行和倒数第7行的boot也应该是bool吧
最后编辑ipgsky 最后编辑于 2008-08-04 15:14:34
 

回复:《嵌入式Linux应用开发完全手册》第1版第1次印刷堪误表

是的,是bool。
深感汗颜啊
 

回复 7F thisway.diy 的帖子

第111页表7.3上面倒数第4行:而不管Ctt是0还是1.
Ctt是不是应该是Ccr啊?
第119页第2行文字:第81行命令mmu_tlb_base指向SDRAM...
81应该是84行哈?
请楼主查证。
 

回复:《嵌入式Linux应用开发完全手册》第1版第1次印刷堪误表

1. Ctt是在页表描述符中的,Ccr是在协处理寄存器CP15中的,这个没错
The C bit from the MMU translation table descriptor corresponding to the address being accessed is referred to as Ctt.

For clarity, the C bit (bit 2 in CP15 register 1) is referred to as the Ccr bit throughout the following text.
The DCache is enabled by writing 1 to the Ccr bit, and disabled by writing 0 to the Ccr bit.

2. 是的,81行应该是84行,谢谢你
 

回复:《嵌入式Linux应用开发完全手册》第1版第1次印刷堪误表

第147页图9.4中下面个Request sources(with sub-register)
应该是:Request sources(without sub-register)吗?
 

回复: 《嵌入式Linux应用开发完全手册》第1版第1次印刷堪误表

在第26页的第三段命令最后一行$make install应改为$sudo make install
否则会出错
 

回复:《嵌入式Linux应用开发完全手册》第1版第1次印刷堪误表

谢谢Johhny 和 11楼的“游客”
 

回复:《嵌入式Linux应用开发完全手册》第1版第1次印刷堪误表

315页
第五行

make smdk2410_defconfig
应该是
make s3c2410_defconfig  吧
 

回复:《嵌入式Linux应用开发完全手册》第1版第1次印刷堪误表

错误真不少,对不起,谢谢!
 

回复:《嵌入式Linux应用开发完全手册》第1版第1次印刷堪误表

第187页第二个注意的上面 (10)将0xF0写入IICSTAT寄存器...
其中0xF0是不是应该是0xd0?
 

回复:《嵌入式Linux应用开发完全手册》第1版第1次印刷堪误表

是的,应该是0xd0。
幸好程序中没错,谢谢你!
 

回复:《嵌入式Linux应用开发完全手册》第1版第1次印刷堪误表

389页 ,  6行 ,主设备应该是3 , 上下不一致!
 

回复:《嵌入式Linux应用开发完全手册》第1版第1次印刷堪误表

第102页的图7.4下面的第二行16K对应的(位【14:0】)是不是为【13:0】呢??
 

回复:《嵌入式Linux应用开发完全手册》第1版第1次印刷堪误表

pcl001,flying1104 :你们所指错误是正确的,我在堪误里列出来了,谢谢
 

回复: 《嵌入式Linux应用开发完全手册》第1版第1次印刷堪误表

P162 图10.4  最右的框 :TCONOn -->TCNTOn
P209 图13.7 下面一个:LCDBASEU-->LCDBASEL
P5  倒数14行 : 为无极通信-->为无线通信
 
1  /  6  页   123456 跳转

地址:广东省深圳市南山区南山大道3003号久商大厦C-1406;邮编:518052;电话:0755-86200561

粤ICP备09041549号, 版权所有 百问网   Sitemap

Powered by Discuz!NT 2.0.1214    Copyright © 2001-2010 Comsenz Inc.
Processed in 0.09375 second(s) , 5 queries.
返顶部