-
Notifications
You must be signed in to change notification settings - Fork 2
/
log200902.txt
1471 lines (1202 loc) · 86.7 KB
/
log200902.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
11:20 2009-2-1
考试, 注册会计师
北京注册会计师协会: http://www.bicpa.org.cn/
北注协考试部:68980880.
已过科目查询: 623.
06: 会计, 税法; 07: 财务; 08: 审计
今年需要选择新制度还是旧制度, 选择旧制度是从06年已过科目开始算. 选择新制度是从05年已过科目开始算.
15:35 2009-2-1
MP4, 外壳
http://shop33228567.taobao.com/?catId=16076403&queryType=cat&categoryName=%A9%C0----%BE%B5%C6%AC--%CD%E2%BF%C7----%A9%C8&browseType=#pagebar
9:50 2009-2-2
Linux学习, Android, 启动脚本, machine_desc
设备相关init脚本名是由/proc/cpuinfo的"Hardware"字段得到的(第一个单词, 字母全小写), 这个字段是由"MACHINE_START()"宏配置的.
The name used to pick up the device-dependent init file is the name returned by /proc/cpuinfo under "Hardware" (it uses the first word only - as lowercase), which is set with the MACHINE_START() macro in your board file. You can change the name in that macro to "mydevice" to use init.mydevice.rc.
自: android-porting google group, init.goldfish.rc question
http://groups.google.com/group/android-porting/browse_thread/thread/b56d508044d1974e?hl=en
10:07 2009-2-2
usb, wifi+bluetooth(蓝牙), <TODO>查质量和信号</TODO>
1, 70这个便宜, 同品牌都在100以上, 有点不放心.
http://item.taobao.com/auction/item_detail-0db1-4e8c4b1d0a62f2f1a09d248e0712c3a1.jhtml, 70.
http://item.taobao.com/auction/item_detail-0db1-f32961e9e42171148434d304ee808b87.jhtml, 108.
2,
http://item.taobao.com/auction/item_detail-0db2-968c668e92babd851583247102465a49.jhtml, 120.
3,
http://item.taobao.com/auction/item_detail-0db2-6ea7ec5c6abbf5f0b6bd0027475b1ec1.jhtml, tplink, 90.
10:12 2009-2-2
每日文摘, 嵌入式新闻, <TODO>加入博客</TODO>
1, 斗艳短距离无线网络市场,SoC、双芯片各具优势=+Cypress双芯片方案+TICC430(MSP430+RF)
bamvor张健的文档\micro微电子与计算机\Embeded嵌入式系统\network网络\wireless无线
2, 稳坐家庭娱乐中心位置 数字电视产业正当红=+
bamvor张健的文档\micro微电子与计算机\Embeded嵌入式系统\消费电子产品\AudioVideoAndMultimedia音视频播放与多媒体\电视相关(数字电视,手机电视,机顶盒)\数字电视
3, PCTV市场前途光明 道路仍然曲折=+
bamvor张健的文档\micro微电子与计算机\Embeded嵌入式系统\消费电子产品\AudioVideoAndMultimedia音视频播放与多媒体\电视相关(数字电视,手机电视,机顶盒)
10:24 2009-2-2
给爸妈买电脑
目前优惠是那款是不含显示器的, 适合放在客厅的那种. 3199.
主要不喜欢光驱是吸入式的, 就不能用异型盘了, 不过这点不是很重要.
必须要加的是usb无线网卡, 淘宝上100-120的是usb 54M wifi+蓝牙2.0 EDR的.
如果放在客厅, 需要加400改为支持vga输出的(<TODO>看家里电视有没有VGA输出, 看DVD是否支持VGA输入</TODO>),
至少需要花费3199+120=3320.
13:36 2009-2-2
随笔, 博客, <TODO>补充, 发到博客</TODO>
快乐:)
1, 书店, 南人北北人男
2, 南方周末: 文化原创榜
3, http://www.douban.com/book
这个读书频道似乎不错, 有空看看.
自: http://www.douban.com/review/1126431/
Robert Love是个传奇人物。
传奇的原因是,当他还是大四学生的时候,已经有了7年的linux经验,并设计了linux的抢占式内核——2.4到2.6版内核的最关键进步之一。现在找到这个传奇在中国流传的源头,是一篇2002年初题为《看看国外的本科生能做什么?》的对当时大四的Robert Love采访的文章。
只能对这种巨牛的人拜了又拜……
<TODO>看<看看国外的本科生能做什么?></TODO>
13:39 2009-2-2
<TODO>记账</TODO>
11:52 2009-2-3
<TODO>下班后</TODO>
1, 开通招行专业版, 还中行钱;
9:46 2009-2-4
Linux学习, 手机平台, Android, LCD
目前Android不支持双LCD显示.
http://groups.google.com/group/android-porting/browse_thread/thread/69535afeb1b5ad27?hl=en
10:48 2009-2-5
<TODO>下阶段计划</TODO>
1, 结合公司任务, 看s3c2440 sd卡驱动;
2, 有时间完成Linux2.6.25.20的s3c2440_扬创开发板移植.
3, 练钢琴, 齐秦版的月亮代表我的心. 计划4/24认识纪念日完成. 如果能做个光感的, 芸芸开灯时开始播放. 然后我送上鲜花:) 时间紧张, 呵呵, 创意先留在这里.
4, Android到s3c2440移植, 这是是远期计划. 考虑芸芸的生日礼物.
15:15 2009-2-9
Linux学习, 存储, driver, mmc/sd
1, 驱动
utu-linux包中: driver\mmc\s3cmci.c是s3c2440 mmc/sd驱动.
driver\mmc\card\sdio_uart.c: sdio uart驱动.
2, Linux sdio stack
http://sourceforge.net/projects/sdio-linux/
3, sd 官网
http://www.sdcard.org/developers/
16:05 2009-2-9
妈妈电脑
1, hp网店挺便宜,惠普授权,价格不含。得找CPU 2.4G,内存2G,160G以上,dvd刻录机的机器。
16:15 2009-2-9
刘成:13671210576
16:26 2009-2-9
嵌入式, 存储, sd/sdio
SD/MMC/SDIO 概念区分概要
http://space.fyqt.net/index.php/uid-125144-action-viewspace-itemid-10316
17:12 2009-2-9
Linux开发, 源代码分析/阅读, 工具
希望有个工具能从代码中输出:
1, 函数分析:
1), 函数外注释整理为文档;
2), 函数内注释整理;
3), 函数调用关系;
2, 文件分析:
哪些文件已经完成分析.
上网搜了一下, 工具很多.
最理想的情况既可以生成图, 也可以在source insight中打开. 点击函数可以跳到指定函数.
相关工具:
1, gcc+egypt+graphviz
egypt - a tool for making call graphs
http://www.gson.org/egypt/
这个不用给gcc打补丁, 感觉比较适合我.
graphviz, 画图工具.
http://www.graphviz.org/
2,
用CodeViz绘制函数调用关系图(call graph)
http://blog.csdn.net/Solstice/archive/2005/09/22/486788.aspx
用 Graphviz 可视化函数调用
http://www.ibm.com/developerworks/cn/linux/l-graphvis/
分析函数调用关系图(call graph)的几种方法
http://blog.csdn.net/Solstice/archive/2005/09/24/488865.aspx
3, 文档生成工具
1), Doxgen的使用
http://blog.csdn.net/ArenAK/archive/2006/11/18/1395031.aspx
2), Texi2HTML - Open Source Texinfo to HTML Conversion Script
http://www.mathematik.uni-kl.de/~obachman/Texi2html/
http://www.nongnu.org/texi2html/
18:20 2009-2-9
Linux学习, 调试, <TODO>阅读, 下载</TODO>
1, 使用 Kprobes 调试内核: 将 printk 插入到运行中的 Linux 内核
http://www.ibm.com/developerworks/cn/linux/l-kprobes.html
2, 掌握 Linux 调试技术: 在 Linux 上找出并解决程序错误的主要方法
http://www.ibm.com/developerworks/cn/linux/sdk/l-debug/index.html
18:26 2009-2-9
编程语言, c++语言, verilog, 对比, <TODO>下载</TODO>
Verilog与C++的类比
http://blog.csdn.net/Solstice/archive/2005/11/24/536283.aspx
15:00 2009-2-10
嵌入式, wifi, sdio, Linux驱动
找到一个有s3c2440 Linux sdio wifi驱动的wifi模块, 有空可以关注.
wi-fi模块,提供SPI/SDIO接口的小尺寸wi-fi模块
自: http://bbs.chinaitlab.com/viewthread.php?tid=304922
热销 Wifi模块VIA vnt6656G6A40
热销 Wifi模块VIA vnt6656G6A40
热销威盛Wifi模块 型号:VIA vnt6656G6A40 (vt6656)
wi-fi模块,嵌入式无线网卡(USB)的全套解决方案! 价格比较好,产品成熟,稳定.目前已经非常广的使用!
802.11 b/g ,支持windows ce 5.0,4.2,linux ,windowsxp,me,2000等" R: b4 [ i I1 Z: o4 u( B5 D
无线网卡+WINDOWS CE (LINUX)驱动程序! 54MBPS ,USB接口!可以直接装上你的系统! 有现成的2410(2440)驱动程序!
另外也提供SPI/SDIO接口的小尺寸wi-fi模块!适合手机,PMP,PDA,手持终端!有PXA270、S3C2410、S3C2440和TELECHIP WINCE5.0/LINNUX2.6.10驱动程序!
.联系:13008813911
联系:0755-81536676
15:19 2009-2-10
半导体, 器件, MOCVD
金属有机物化学气相沉积:
自: http://en.wiktionary.org/wiki/MOCVD
Metal-organic chemical vapour deposition
详见繁体中文翻译:
金属有机物化学气相沉积.txt; 位置: "bamvor张健的文档\micro微电子与计算机\microELec微电子专业\半导体物理_半导体器件\MOCVD"
17:05 2009-2-10
软件技巧, pdf破解, <TODO>试用</TODO>
从lingming处得到pdf破解软件: 据说"专破各种加密,不能加注释的pdf。", 未试用.
18:44 2009-2-10
(9:35 2009-2-11)
(12:56 2009-2-11)
Linux开发, 源代码分析/阅读, 函数调用关系, 工具, 试验
1, 试用egypt
下载gts-0.7.6-11.fc10.i386.rpm, graphviz-2.16.1-0.6.fc10.i386.rpm, egypt-1.6.tar.gz并安装.
egypt安装过程(自:egypt主页):
perl Makefile.PL
make
make install
使用:
man egypt
或
perldoc egypt
egypt读取gcc的rtl文件(rtl文件由编译时加-dr生成)处理后按照dot格式输出给dot绘出函数调用关系图, 这个调用关系并不是流程图. 只反应函数静态调用关系.
1), "-dr": 表示dump after RTL generation. RTL指register transfer language, 编译过程中主要借助这个语言完成. 参见gcc文档"RTL Representation"节.
http://gcc.gnu.org/onlinedocs/gcc-3.0.4/gcc_19.html
Most of the work of the compiler is done on an intermediate representation called register transfer language. In this language, the instructions to be output are described, pretty much one by one, in an algebraic form that describes what the instruction does.
2), dot是graphviz中生成有向图(DAG)的工具, 输入文件的扩展名一般是dot. 调用关系图中直接调通过实线表示, 间接调用通过虚线表示.
2, 生成VC0830调用关系
1), eclipse基本使用方法可以参考Ling ming"基于Eclipse&&GNU工具链的ARM开发平台.doc", 位置: "work\software\Eclipse_root\基于Eclipse的ARM交叉编译及调试环境\环境使用手册及参考文档"
2), 生成VC0830 dot文件
在VC0830目录的config.mk最后加入:
#bamvor.add.1_line
CCFLAGS+= -dr
会在VC0830目录下生成*.expand文件.
似乎build.exe是build.perl生成的, 因为VC0830右键菜单中"Build Make target"的edit选项中build command是"build", 根目录下只有这一个build.exe是windows下的可执行程序.
暂时只能是加入一个新target:
#bamvor.add
#generation RTL dump file for egypt
clean_expand:
$(RM) $(ROOT)/*.expand
#bamvor.add.end
3), 在windows下运行egypt
简单看了一下egypt, 使用perl脚本解析gcc生成的rtl文件. 没有调用什么特殊的东西. 应该可以在windows下运行.
下载安装activestate perl: http://www.activestate.com/activeperl/downloads/
<TODO>试验</TODO>
另外, EPIC(www.epic-ide.org)是eclipse的perl开发环境. 过段时间学习perl时可以使用.
3, 可以生成sdio调用关系图, 由于函数多, 有点乱. 用dotty可以生成可以类似visio的可以修改的图, 但在我的fedora10下函数名不显示. 试用graphvia windows版: 安装"graphviz-2.20.3.1.msi"时可能需要关闭防火墙.
使用dotty直接打开egypt的生成文件没有问题. 常用功能
1), 如果直接单击左键是画一个node;
2), 右键菜单
(1), redraw: 刷新, 拖动node后图片不会自动刷新, 使用redraw刷新;
(2), do layout: 重新排版, 更新属性: 修改属性后更新属性.
(3), reload graph: 重新载入文件;
(4), find node: 查找指定node, 区分大小写, 如果找到节点会居中.
(5), birdeye view: 显示缩略图, 鼠标在缩略图上拖动可以拖动全图, 方便浏览.
4, 了解dot文件
dot文件语法简单, 手写也不困难. 可以软件生成调用用后, 手工加入属性. 这样便于阅读.
dot文件加上node和edge属性会好用很多. 考虑用脚本自动加入.<TODO>待做</TODO>
删除下列函数后清楚很多:
aasp_requestMain_r(), Hal_WriteRegBitVal(), Hal_ReadRegBitVal()
do_sd()函数有个调用的函数线很长找不到, 右击线(edge)上面那个圆圈, 选择set attr. 填入"color=red", 用do layout更新后很容易就找到do_sd()->aasp_cmdwait()
5, 尝试分析smdk2440 Linux内核启动过程:
1), 编译时传递"KCFLAGS=-dr", 底层Makefile会把"KBUILD_CFLAGS"加上"-dr", 可能由于文件名重名问题, 没有找到"init\main.c"对应的expand文件, 所以启动过程不全.
2), 直接修改对应目录的Makefile, 仍然不能避免重名问题. 再找找有没有其它工具.
忽略: __bug, __put_task_struct, mutex_unlock, mutex_lock
10:08 2009-2-11
产品研发, 采购, sample kit, 博客
看到电子工程专辑有个帖子, 讨论工程需求和采购. 有句话说的很经典:
优秀的开发人员,是半个采购员;优秀的采购员,是半个开发人员。
详细如下:
网址: http://bbs.esmchina.com/FORUM_POST_1000010004_1200439854_0.HTM
楼主 问题: 电容电阻的sample kit很难申请~各位怎么解决?
不知道大家有没有遇到这样的问题~
在设计的初期,工程师不能确认电容电阻具体需求的时候,需要sample kit支持来调试。就要我们采购找厂商提供。
我现在询问的被动元件厂商的回复:
1.只能提供个别料号,不肯整个系列送给我们(声称整个系列有几千颗)。
2.提出要收费,不能免费提供,价格很贵。
3.L/T长,生产这些样品需要10周以上的时间。
4.某些高频系列,国内的和台湾的都不具备此生产能力,只有日系厂商能生产。
5.甚至有厂商要我们自己将整个系列各买一卷回去调试。
我们目前的做法是,将已经量产的电容电阻各剪200pcs放在实验室给工程师使用,但是由于公司的产品转型,新案子需求高频的电容,我们库存是没有的,这就出现了工程师要我们找厂商拿sample kit的情况。
各位采购朋友们是怎么应对这种情况的?
第 18 楼 回复:电容电阻的sample kit很难申请~各位怎么解决? 发布时间: 2009-1-15 下午12:45
发帖人:爱因迪生 发送消息 等级: 黄金少侠 积分: 1939分
我相信,这个工程师技术可能真的“牛”,但是那也仅仅是技术牛,不代表他的素质很全面。比如说,对物料选型方面他没经验。
他上家样品多,可能因为他上家的主打产品就是高频的,而供应商也已经有成熟的供应商了,所以样品自然多,他不能拿不对等的条件来要求你们公司。
另外,他说以前公司的样品的规格是全系列的,可以随便用,那么说明他们上家的物料选型也很随便。物料选型不合理,会使公司的整体运作成本和效率大大降低。
我有一个很经典的例子。我有个工程师朋友,说他们来了一个著名公司的牛皮工程师,说那个工程师在以前的公司也是什么规格的物料都有,然后怪新的这家公司太垃圾的,规格不全。我当时就跟朋友说,那么这个牛皮工程师以前所在的著名公司,不管其名气多大,但是他们的物料管理水平不怎么样。后来,有一次的技术研讨会上,恰好那家著名公司有代表,他们说出的他们的物料管理状况让与会者都好笑,因为确实乱。
我做器件工程师,很明白设计工程师的一些认识误区,经常要给他们灌输正确的物料选型观念。当然,如果你不懂技术,很难说服他们。不过我还有个建议。因为他很难体谅到你的难处。你不妨请他给你推荐供应商,如果他推荐的供应商也申请不到样品,就让他和供应商那直接沟通,让他自己体会体会。一般真正的牛皮工程师,供应商是非常给面子的!如果他不愿意那样做,那么至少,你可以要求他推荐2个以上的品牌,这是你的权利。如果他推荐的品牌,经过努力,申请不到样品,也可以说是他推荐的问题,如果他不相信,那让他自己直接和供应商沟通。
送一句采购业界的一句经典名言:优秀的开发人员,是半个采购员;优秀的采购员,是半个开发人员。
第 40 楼的元器件"专家", 新开了一个帖子说明问题:
信口开河的需求,问题随之而来(MLCC电容选型要点), 自: http://bbs.esmchina.com/FORUM_POST_1000164047_1200440177_0.HTM?click_from=1000024980,8737665360,20090211,ESMCOL,ARTICLE_ALERT
刚才看到一个采购人员与设计人员关于MLCC电容SAMPLE KIT的扯皮案例;如下:
工程师的提出需求:高频电容元件包;频率达1G以上的高频电容 每种100pcs #0402-#0603封装 品牌:** **
面对如此不明确的需求,采购无耐了!
仔细分析需求:
1、器件属性。高频电容,首选COG(或COH、SL)、其次X7R等温度系数的,,这样容值的稳定性有保证。频率1GHz以上;按照电容与频率的近似公式,C=1/f;初步断定容值最大为1nF。
2、封装形式。0402、0603确定;
3、数量:100PCS确定;
4、品牌:不限定。
缺什么重要参数呢,电压:常规的从25V开始,有25V、50V、100V、200V、250V、300V等;精度:有B、C、D、G、J、K等。
再分析1nF以下的容值,按电容分类原则,0~1pF、1~10pF、10pF~100pF、100~1nF各起码有5种常见的。
综上所述,这样的需求最起码有这么多个型号符合: 容值(50个)X电压(6个)X温度系数(2个)X精度(6个)=3600个(呵呵,估算)
数目惊人,可观吧!!!
根据上面的实例,MLCC电容选型主要注意以下几点:
1)容值的选择,最好选择常用规格的。
2)耐压的选择,最好不要选择最大耐压的。
3)温度系数的选择,对稳定性要求高的一般选择COG、X7R等,做IC电源脚上的旁路电容的话可以选择Z5U、Y5V等一、二类电容。最好不要选三类电容的
4)容值精度:一般选择B、C、D、G、J、K的,精度与容值、价钱有关;102以上电容精度J、K档常用。
5)封装形式。这与公司的SMT加工工艺能力有关。一般选择0603、0805;0402对加工工艺要求大的多。1206、1810等大尺寸的MLCC电容还是小心使用为好。
6)品牌:别看这小小电容,其制造能力、配方学问大着呢。普通要求的讲究不大。对于高可靠性场合,最好选择国外品牌。具体的品牌就不一一列举了,以免惹上”做托“之嫌。
欢迎探讨!如有不妥,请轻点拍砖!
第 17 楼: 元器件"专家" , 2009-1-19 上午11:44
答第16楼:(这些参数怎么测试验收呢?厂家给的指标如果超差怎么知道呢?)
对于阻容器件,整机制造商大可不必花大力气做测试验收。其投入产出比是很低的,等于花80%的精力解决20%的问题。为保证质量,在两个方面做的好就基本能解决了:
1)选业界知名品牌;阻容器件在单板上数量多,但成本上至多占10%左右的成本。在这个上面降价的空间不大。
2)与厂家签定质量保证协议来保证。杜绝批次性质量问题。
13:14 2009-2-11
软件技巧, editplus, sourceinsight, 不移动光标情况下移动页面
有时在使用键盘, 需要不移动光标情况下移动页面, 又不想用鼠标...
其实也有办法:
editplus: Ctrl+上/下;
sourceinsight: Alt+上/下;
13:35 2009-2-12
(21:36 2009-2-12)
Linux开发, 源代码分析/阅读, 函数调用关系, 工具, 试验, 续
1, 安装了activestate perl和graphviz并设置path后可以在eclipse中生成sdio*.c.*.expand的调用关系图. 希望做成通用的.
发现egypt生成的函数调用关系不全, 例如: Sdio_Protocol_Identify()->Init_Mem()等没有. 要么改进脚本, 要么是试用CodeViz.
2, 实验codeviz
发现codeviz的full.graph也是dot文件, 所以应该可以利用gengraph处理自己的dot文件, 但是目前输出sdio.dot分析do_sdio_write或Sd_Write都是只得到一层调用关系, 原因未知.
用codeviz已有的Linux内核full.graph生成alloc_pages成功.
命令: "gengraph -t -d 10 -s "shrink_active_list;shrink_inactive_list" -i "__free_pages_ok" -f alloc_pages --output-type png -k"
-k表示生成dot文件, 可以根据需要再转为其它格式. 结果位于:"work\tools\函数调用关系_流程图\codeviz\alloc_pages(Linux2.6.18_x86)"
另外codeviz readme中提到可以从objdump文件生成, 看到了分析Linux内核的例子, 明天可以尝试.
16:41 2009-2-12
软件开发, 脚本, perl, 学习, 博客
最近用egypt画函数调用关系, 觉得egypt脚本过于简单了, 想改进; 还想把工作日志中的调用关系转为dot文件(Graphviz软件定义的一种格式). 上网找到下面这个帖子, 觉得不错, 转载过来:)
关于学习Perl
自: http://bbs.chinaunix.net/viewthread.php?tid=641360
偶看过的3本书,觉得都very good,它们是"Learning Perl","Programming Perl","Network Programming with Perl".还有一本好像是"CGI Programming with Perl",没怎么仔细看,就不提了。前2本是Oreilly出版的,别名大小Camel Book(骆驼书),是Perl入门和提高的经典书籍。第3本是Lincoin Stein先生的经典力作,他也是mod_cgi的开发者,其精湛的技术令偶受益终生。这3本书好像都有中文版,去书店看看能否买到。如果你阅读English没问题,那偶建议你还是阅读原版的好。
另外,订阅Perl Mailing List也可令你从中受益,这里列出了所有知名的Perl Mailing List: http://lists.cpan.org/
其中的beginners和beginners-cgi也许对你有用。modperl-user是讨论mod_perl的。
10:28 2009-2-13
Linux开发, 源代码分析/阅读, 函数调用关系, 工具, 试验, 续
1, 实验codeviz, 续
昨天的start_kernel终于出结果了, 关系很复杂, 像alloc_pages,printk等都应该忽略. 另外图的右边不全, 难道是太复杂了?
今天来了以后主要再想如何利用gengraph处理egypt生成的dot文件. 分析codeviz testsuite c例子, 看到格式如下:
node ;
//从这里列出每个函数名, 所在文件, 行号
"函数1" [label="filename.c:line_number:];
//从这里列出函数调用关系, 所在文件, 行号
"函数1" -> "函数2" [label="filename.c:line_number];
这个格式不复杂, label内容只要格式相符即可, 暂时可以用"1.c:1:"/"1.c:1"这种骗过gengraph脚本.
2, "1"的问题可以通过脚本解决:
1), 可以写个脚本把egypt结果处理成这种形式.
2), 修改gengraph, 目前perl还不会, 所以只能是用第一种了.
看sdio函数调用关系有望:) <TODO></TODO>
3, "CodeViz+objdump":
1), 修改CodeViz库"CollectCObjdump.pm"的"analyse_binaries":
objdump -> arm-linux-objdump; hack, 需要定义objdump变量, 调用gengraph时传入.
2), ./genfull -g cobjdump -s /usr/src/embedded/linux-2.6.25.20 -f /usr/src/embedded/linux-2.6.25.20/vmlinux
3), arm平台Linux 内核初步完成. 但没有s3cxx相关函数的, 猜测是函数指针的问题.
经查看, 与优化和函数指针有关. Linux中情况太复杂了.
加上-g和"-fkeep-inline_functions"编译内核, 没什么效果.
阅读Codeviz genfull脚本时发现排序时是按照行号排序的, 这样保证函数调用关系图符合调用顺序. 但目前得到的update_process_time图不符合调用顺序.
4), 尝试VC0830, 解出的full.graph只有函数没有函数调用关系.
是什么原因呢?
(1), 开始以为是arm-linux-objdump和VC0830的arm-elf-objdump不同造成的. 但经试验, 二者objdump结果相同.
(2), 只有看脚本了. <TODO>好像是"analyse_binaries"脚本有点问题.</TODO>
13:21 2009-2-16
软件技巧, Sourceinsight, 矩形选择
sourceinsight也支持矩形选择, 用鼠标左键拖动选择文字时按住Alt即可选择矩形区域.
比如说我想选择下面
static void Preprocess(void);
//...
static void ResetCardIOPart();
static void ResetCardMemPart();
static void ResetMMCCard();
函数定义中的函数名, 原来我只能是选择这些行, 然后把前面的内容删除, 用矩形选择就可以直接选择了:
Preprocess(void);
//...
ResetCardIOPart();
ResetCardMemPart();
ResetMMCCard();
再比如, 想粘贴830寄存器列表的部分连续列的某几行时, 也可以用这个方法. 当然用正则表达式或excel处理等通用一些, 但也稍稍慢一点.
呵呵, 提到矩形选择就想起了当年的CCED. 其实真是一个不错的字表编辑软件. 只是出的比wps晚, 当时妈妈单位还买了正版的CCED呢. 后来出cced2000时我还用过, 后来好像就没有消息了.
22:01 2009-2-16
Linux开发, 源代码分析/阅读, 函数调用关系, 工具, 试验, 续
1, 把egypt生成的dot文件转为codeviz gengraph可接受的dot文件.
用perl写了个脚本, 初步达到目的. 但是egypt中对于"(call (mem:SI (symbol_ref:SI ("^Usb_Boot") ..."这样的调用关系不会输出到dot文件中, 所以最终的call graph不完整.
脚本见: "22:04 2009-2-16"egypt_dot2codeviz_dot
使用"pre_convert"脚本用于去掉"^.*"中的".*":
#!/bin/bash
file_list=`ls *.expand`
for file in $file_list; do
cp $file $file.bak
sed "s/\(call.*\"\)^\(.*\"\)/\1\2/" -i $file
done
这样基本得到Nand_Boot()流程图, 已经发给Liao zhicheng, 请他帮我看看. 调用关系图正确.
22:04 2009-2-16
脚本, perl学习, 第一次编写perl文件, egypt_dot2codeviz_dot, 函数调用关系工具
#!/usr/bin/perl
#egypt_dot2codeviz_dot: convert egypt dot file to the input file format
#of codeviz gengraph
$head="digraph callgraph {\nnode [] ;";
$tail="{";
while ( defined($lines=<> )) {
# print "$lines";
if ( $lines =~ m/^("([\w_]+)"\ \->\ "([\w_]+)").*;/ ) {
$func_call = $1;
$func1 = $2;
$func2 = $3;
push @func_calls, $func_call;
push @func_lists, $func1;
push @func_lists, $func2;
}
}
@func_lists = sort @func_lists;
$prev_func = pop @func_lists;
foreach $func (@func_lists) {
if ( $prev_func eq $func ) {
# print "repeat\t\"$func\"\n";
} else {
$prev_func = $func;
# print "\t$prev_func\n";
push @func_lists_sorted,$prev_func;
}
}
#print "$func\n";
push @func_lists_sorted,$func;
printf "$head\n";
foreach (@func_lists_sorted) {
print "$_ [label=\"1.c:1\"];\n";
}
foreach (@func_calls) {
print "$_ [label=\"1.c:1\"];\n";
}
print "$tail";
10:17 2009-2-17
计算机, 人物, 华人, 图灵奖, 姚期智(Andrew Chi-Chih Yao)
自: http://zh.wikipedia.org/wiki/%E5%A7%9A%E6%9C%9F%E6%99%BA
姚期智 性別: 男
出生: 1946年12月24日 (1946-12-24) (62歲)
上海
國籍: 美国
配偶: 儲楓
經歷
中国科学院院士
所属学部 外籍院士
专业 计算机科学
当选年份 2004年
中央研究院院士
组别 數理科學組
当选年份 2000年(第23屆)
姚期智(Andrew Chi-Chih Yao,1946年12月24日-),美籍华人,计算机科学家,2000年图灵奖得主,是目前唯一一位获得此奖项的华人及亚洲人。目前是清华大学理论计算机科学研究中心教授。
姚期智祖籍湖北孝感,1946年12月24日出生于上海,幼年随父母移居台湾。1967年,姚期智毕业于台湾大学,之后赴美国深造。1972年获哈佛大学物理学博士学位,1975年获伊利诺大学香槟分校(UIUC)计算机科学博士学位。之后,他曾先后在麻省理工学院(1975—1976)、斯坦福大学(1976—1981,1983—1986)、加州大学伯克利分校(1981—1983)等美国高等学府从事教学和研究,1986年至2004年任普林斯顿大学计算机科学系教授,从2004年9月至今任北京清华大学高等研究中心教授。此外,姚期智还是美国国家科学院院士、美国人文及科学院院士、中国科学院外籍院士及台湾中央研究院院士。
姚期智获得过美国工业与应用数学学会波利亞獎(Pólya Prize),美国计算机协会算法与计算理论分会(ACM SIGACT)高德納獎(Donald E.Knuth Prize)等荣誉。2000年,因为姚期智对计算理论,包括伪随机数生成,密码学与通信复杂度的诸多贡献,美国计算机协会(ACM)决定把该年度的图灵奖授予他。
10:20 2009-2-17
计算机, 人物, 华人, 图灵奖, 萨支唐(Chih-Tang Sah)
自: http://www.hudong.com/wiki/%E8%90%A8%E6%94%AF%E5%94%90
萨支唐-概述
(Chih-Tang Sah) 美国微电子学家。生于中国北京。50年代初毕业于美国伊利诺大学,1954年、1956年分别获美国斯坦福大学硕士、博士学位。1959-1964年先后任美国仙童半导体公司高级成员、物理部主任经理,1964-1968年任美国伊利诺大学教授。1988年至今,担任美国佛罗里达大学电机和电子工程系教授、工学院首席科学家。美国国家工程院院士(1986),台湾“中研院”院士(1998)。
萨支唐-相关
萨支唐教授长期致力于半导体器件和微电子学研究,对发展晶体管、集成电路以及可靠性研究作出了里程碑性质的贡献。他提出了半导体p-n结中电子-空穴复合理论。开发了半导体局域扩散的平面工艺和MOS、CMOS场效应晶体管,并提出MOS晶体管理论模型。发明了探测半导体中微量缺陷的深能级瞬态谱(DLTS)方法。发现了氢在硅中对受主杂质的钝化作用。近期致力于亚微米MOS晶体管的可靠性研究。曾获半导体工业协会(SIA)最高奖(1998)等多项奖励。
萨支唐教授是改革开放以后最早与中国进行科技合作与交流的美国科学家之一。曾多次访华,作了20余次系列讲座,先后指导了12名中国研究生,还多次协助在中国举办国际学术研讨会。
2000年当选为中国科学院外籍院士。
另, [转贴]萨氏家族.
自: http://www.cnlnsq.com/forum/redirect.php?tid=36223&goto=lastpost
笔者的母亲是林家大姐,小时候,她除告诉孩子们关于林家——林则徐的故事以外,常常也会讲起邻居萨镇冰家的故事。 名人辈出的萨氏家族 在我国近、现代史上,福建闽侯的萨氏家族出了多位军事将领和科技精英,他们有:海军将领萨镇冰、中山舰长萨师俊、计算机科学家萨师煊、物理学家萨本栋、化学家萨本铁、微电子学家萨支唐、数学家萨支汉…… 受篇幅所限,以下仅作简要介绍
14:00 2009-2-17
gcc, rtl, 函数调用关系, 如何处理结构体的函数指针
compare a_demo and b_demo.
1, "(mem/s/f/j/c:SI (symbol_ref:SI ("demo_struct") <var_decl 0xb7a7c370 demo_struct>) [0 demo_struct.demo_func_ptr+0 S4 A32]))" are same. maybe it means same function pointer
"0xb7a7c370" is the id for demo_struct.
2, "D.1619" the id for "demo_struct.demo_func_ptr", second line of "D.1619" means argument "(4)". => "demo_struct.demo_func_ptr(4)"
3, "call_insn"means function call. in this section function is followed "call".
e.g.
1), call a function pointer: "(call (mem:QI (reg/f:SI 59 [ D.1619 ]) [0 S1 A8])", where "[D.1619] means "demo_struct.demo_func_ptr"
2), call a function: "(call (mem:QI (symbol_ref:SI ("demo_let") [flags 0x3] <function_decl 0xb7b59f50 demo_let>) [0 S1 A8])". where "demo_let" is the function name.
<TODO>: handle "(*call_back)();"
;; Function a_demo (a_demo)
;; D.1619 = demo_struct.demo_func_ptr
(insn 5 4 0 main.c:57 (set (reg/f:SI 59 [ D.1619 ])
(mem/s/f/j/c:SI (symbol_ref:SI ("demo_struct") <var_decl 0xb7a7c370 demo_struct>) [0 demo_struct.demo_func_ptr+0 S4 A32])) -1 (nil))
;; D.1619 (4)
(insn 6 5 7 main.c:57 (set (mem:SI (reg/f:SI 56 virtual-outgoing-args) [0 S4 A32])
(const_int 4 [0x4])) -1 (nil))
(call_insn 7 6 0 main.c:57 (set (reg:SI 0 ax)
(call (mem:QI (reg/f:SI 59 [ D.1619 ]) [0 S1 A8])
(const_int 4 [0x4]))) -1 (nil)
(nil))
;; Function b_demo (b_demo)
;; demo_struct.demo_func_ptr = demo
(insn 5 4 0 main.c:63 (set (mem/s/f/j/c:SI (symbol_ref:SI ("demo_struct") <var_decl 0xb7a7c370 demo_struct>) [0 demo_struct.demo_func_ptr+0 S4 A32])
(symbol_ref:SI ("demo") [flags 0x3] <function_decl 0xb7b0ff50 demo>)) -1 (nil))
11:34 2009-2-18
Linux手机平台, Android, 编译
1, 使用一月份下载的"Android_repo_200901150606.tar.gz"编译Android平台, 解压后直接在source目录下make.
1), 提示无gperf:
Generating CSSPropertyNames.h <= CSSPropertyNames.in
sh: gperf: command not found
calling gperf failed: 32512 at ./makeprop.pl line 96.
make: *** [out/target/product/generic/obj/SHARED_LIBRARIES/libwebcore_intermediates/WebCore/css/CSSPropertyNames.h] 错误 25
make: *** 正在删除文件“out/target/product/generic/obj/SHARED_LIBRARIES/libwebcore_intermediates/WebCore/css/CSSPropertyNames.h”
从fedora10官网:http://download.fedora.redhat.com/pub/fedora/linux/releases/10/Everything/i386/os/Packages/, 下载了"gperf-3.0.3-4.fc9.i386.rpm".
(12:43 2010-3-8)
"网址变为: http://archives.fedoraproject.org/pub/archive/fedora/linux/releases/10/Everything/i386/os/Packages/""12:43 2010-3-8"end.
注: android网站get source网页提到的Ubuntu下需要安装的软件:
Git 1.5.4 or newer and the GNU Privacy Guard.
$ sudo apt-get install git-core gnupg
JDK 5.0, update 12 or higher.
$ sudo apt-get install sun-java6-jdk
The following packages: flex, bison, gperf, libsdl-dev, libesd0-dev, libwxgtk2.6-dev (optional), build-essential, zip, curl.
$ sudo apt-get install flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev
You might also want Valgrind, a tool that will help you find memory leaks, stack corruption, array bounds overflows, etc.
$ sudo apt-get install valgrind
Intrepid (8.10) users may need a newer version of libreadline:
$ sudo apt-get install lib32readline5-dev
编译通过;
2), 编译sdk?
"Android Cupcake源码编译笔记", 自: "http://www.androidin.com/androidin/200901/22-435.html"
提到需要编译sdk. 我也是编译出错.
但"Android源代码编译一次成功,非常幸运", 自:"http://emck.avaw.com/?p=93", 中没有编译sdk这个步骤.
2, 运行模拟器
[root@ZhangjianFC10 source]# export ANDROID_PRODUCT_OUT=/usr/src/embedded/Linux_Platform/Android/source/out/target/product/generic
[root@ZhangjianFC10 source]# PATH=$PATH:/usr/src/embedded/Linux_Platform/Android/source/out/host/linux-x86/bin
[root@ZhangjianFC10 source]# cd $ANDROID_PRODUCT_OUT
[root@ZhangjianFC10 source]# emulator -image system.img -data userdata.img -ramdisk ramdisk.img
在vmware上运行Anrdoid模拟器真是相当的慢, 最终看到了Android的界面:)
<TODO>博客加图</TODO>:
Android模拟器运行效果(zhangjian自己编译).png
位置: bamvor张健的文档\micro微电子与计算机\Embeded嵌入式系统\消费电子产品\手机设计\手机方案_Android等\Android
<TODO>下一步</TODO>: 了解并编译Android内核, 了解qemu与skyeye比较
参考:
1, "Android Cupcake源码编译笔记"
自: "http://www.androidin.com/androidin/200901/22-435.html"
2, "Android源代码编译一次成功,非常幸运"
自:"http://emck.avaw.com/?p=93"
3, 自己编译Android内核
自: http://www.androidin.com/learn/cn/200901/27-468.html, 这个链接可能不是原始出处, 查原始出处.
文中编译器从此处下载:
http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite
18:53 2009-2-18
Linux学习, 启动, 参数传递, cmdline, memory大小,起始, "vimicro_Linux移植文档", 回复cu帖子
原帖题目: 2440开发板,linux 2.6内核启动过程中,是如何得到内存大小的?
自: http://linux.chinaunix.net/bbs/thread-1062377-1-1.html
arm linux中一般在cmdline或传递tag参数中设置, 个别板子在machine_desc.fixup函数中设置. 按顺序分别说明:
1, 出现顺序(内核版本2.6.25.20,下同)
start_kernel()
->setup_arch()
->mdesc->fixup()
->parse_tags()
->parse_tag_mem32()
->parse_cmdline()
->early_mem()
2, fixup()函数
这个函数arm平台用的很少. 我只找到eseries.c, mach-smdk2413.c, mach-vstms.c这几个arm板子有, smdk2413_fixup()是在bootloader传递tag地址与machine_desc预设tag地址(mem_PA+0x100)不同时设置memory的start和size. 如果fixup起作用, 会从tag中把mem tag改为ATAG_NONE, 后面的"parse_tag_mem32"就没用了.
3, parse_tag_mem32()
该函数定义在"arch\arm\kernel\setup.c". 把bootloader传入的mem tag(ATAG_MEM)的start和size参数通过"arm_add_memory()"加入到meminfo的最后一个bank中. start是memory物理起始地址.
4, early_mem()
该函数定义在"arch\arm\kernel\setup.c". 处理cmdline中的"mem=size@start".
如果没有定义mem起始地址, 使用PHYS_OFFSET(arm中应由arm开发板设置)作为start. early_mem()会覆盖前面设置的meminfo.
呵呵, 你为什么会想到找这个? 我当初是板级移植u-boot到s3c2410时分析的代码, 当时还不知道sourceinsight, 用grep查找的:(
"arch\arm\mm\init.c"文件和这个好像没关系, 里面的"bootmem_init()"会根据这里设置的meminfo计算出high_memory. 系统物理memory会1:1映射到"PAGE_OFFSET---high_memory-1".
19:05 2009-2-18
Linux学习, 启动, busybox动态编译
自: http://linux.chinaunix.net/bbs/thread-1062200-1-1.html
当初移植busybox也是动态编译时动态库找不到, 错误信息类似:
/sbin/initKernel panic - not syncing: Attempted to kill init!
: error while loRebooting in 180 seconds..ading shared libraries: libm.so.6: cannot open shared object file: No such file or directory
解决了,工具链的问题.
我使用的工具链是自己编译的,用readelf工具查看工具链中的m库和c库等文 件,interpreter(ld-linux.so)路径不对,在nfsroot下建立/opt/xxx 把lib放这级目录下就正确了 知道怎么在编译动态库时设置该路径吗?正确的应该是/lib/ld-linux.so 实际却是/opt/xxx/ld-linux.so
20:31 2009-2-18
Linux学习, 移植, 内核启动出错
原帖: 为什么运行内核后显示Can't execute Linux - invalid entry address
自: http://linux.chinaunix.net/bbs/thread-1062302-1-1.html
原文作者使用redboot和网山下载的对应开发板的内核, 烧写入flash后提示上述信息. 若不烧写, "booting the kernel"后是乱码.
回复: 是不是串口或波特率问题
1, 如果"booting the kernel"后面就没东西了可能是串口选的不会. 内核自解压时是直接写的uart寄存器, 所以能显示.
2, 如果"booting the kernel"后面都是乱码, 怀疑是PC机串口终端波特率不正确, 如果bootloader串口波特率比内核串口波特率低, 就会出现乱码. 如果是波特率问题, 内核启动完乱码就不出了, 这是回车应该还是出乱码. 可以在内核启动时把波特率改大些, 57600, 115200等.
21:03 2009-2-18
<TODO>下载</TODO>
1, libhttp
http://bbs2.chinaunix.net/viewthread.php?tid=1369986
2, 个人对kobject的一点研究
http://linux.chinaunix.net/bbs/viewthread.php?tid=1058833&extra=page%3D1
3. [原创] 写一个块设备驱动
http://linux.chinaunix.net/bbs/thread-1045283-1-1.html
9:47 2009-2-19
电子信息产业, 消费电子产品, 嵌入式, 电子信息产业振兴规划, 博客
<转载>国务院常务会议审议并原则通过电子信息产业调整振兴规划和西藏生态安全屏障保护与建设规划
原题: 电子信息产业振兴规划获通过 定3大重点任务
自: http://msn.ynet.com/view.jsp?oid=48723180
中新网2月18日电 据中国政府网消息,国务院总理温家宝18日主持召开国务院常务会议,审议并原则通过电子信息产业调整振兴规划和西藏生态安全屏障保护与建设规划。
会议认为,电子信息产业是国民经济战略性、基础性和先导性支柱产业。在当前国际市场需求急剧下降、全球电子信息产业深度调整的形势下,振兴我国电子信息产业,必须强化自主创新,完善产
业发展环境,加快信息化与工业化融合,着力以重大工程带动技术突破,以新的应用推动产业发展。
会议确定了今后3年电子信息产业的三大重点任务:一是完善产业体系,确保骨干产业稳定增长,着重增强计算机产业竞争力,加快电子元器件产品升级,推进视听产业数字化转型。二是立足自主创 新,突破关键技术,着重建立自主可控的集成电路产业体系,突破新型显示产业发展瓶颈,提高软件产业自主发展能力。三是以应用带发展,大力推动业务创新和服务模式创新,强化信息技术在经济社 会各领域的运用,着重在通信设备、信息服务和信息技术应用等领域培育新的增长点。为此,一要落实内需带动,拓展电子信息产品应用和产业发展空间。二要加大投入,集中力量实施集成电路升级、和信用保险的支持作用。扩大中小企业集合发债试点。
会议指出,西藏是青藏高原的主体,是众多河流的发源地,生态系统独特多样,生态地位十分重要。中央和西藏自治区政府高度重视高原生态环境保护和建设,生态保护取得积极进展。但是,由于全球气候变化的影响,生态环境保护和建设任务繁重。要坚持生态环境保护优先,重视自然恢复,通过必要的保护和建设措施,实现西藏生态系统的良性循环,保障国家生态安全,改善农牧区生产生活条件,促进农牧民增收。会议强调,推进西藏生态环境保护和建设要科学规划,合理布局,突出重点,分步实施。继续开展退牧还草工程,加大防沙治沙工作力度,促进天然草地恢复;加强自然保护区、湿地和防护林体系建设,强化森林防火、有害生物防治和野生动植物保护,提高森林覆盖率;推进小流域综合治理,改善重点治理区生态系统;推进农牧区传统能源替代工程,积极实施小水电代燃料、农村沼气和太阳能建设;积极推广先进适用技术,加强监测体系和能力建设,提高生态治理的科学性。会议要求,西藏自治区政府要加强领导,做好规划组织实施,国务院有关部门要加强指导协调,共同推进西藏生态环境建设。
详细报道: <转载>电子信息产业振兴规划通过 6大工程将获支持
自: http://msn.ynet.com/view.jsp?oid=48723255
孙琎
国务院常务会议昨日审议并原则通过电子信息产业调整振兴规划,其中最引人关注的是,国家将加大投入,集中力量实施六大重点工程,以重大工程带动技术突破。值得注意的是,重大投资项目和政府采购可能对国产产品采取更支持的态度。
这六大工程具体包括:集成电路升级、第三代移动通信产业新跨越、数字电视推广、计算机提升和下一代互联网应用、软件及信息服务培育。
首先,集成电路产业方面主要建设内容是支持芯片“909工程”升级,建设12英寸、65-45纳米的集成电路生产线,支持骨干整机制造企业和芯片企业间的兼并重组提升技术水平,扩大生产能力等。其中涉及中芯、华虹等半导体企业。
而新型显示和彩电工业转型中,则是要支持骨干企业建设6代以上液晶屏(TFT-LCD)和等离子屏(PDP)生产线,开展大尺寸 OLED工艺技术开发,扶持平板显示配套产业(原材料、驱动电路、玻璃基板、彩色滤光片、偏光片等及专用装备),支持骨干彩电企业提升模组一体化整机设计和生产能力。海信电器[9.11 -0.76%]等就在此列。
3G方面则是围绕3G和移动互联网发展,如通过电信运营商在3年内完成覆盖全国的TD-SCDMA网络建设,带动国内通信设备制造业发展。中兴通讯[30.60 -4.97%]、烽火通信[14.32 -5.17%]将受益网络的建设。
国家将支持广播运营商加快实现地面数字电视全面覆盖,完善数字电视产业链,支持数字电视专利池建设则是数字电视推广的重要内容。其中重点企业有同洲电子[9.40 -1.05%]等。
计算机提升和下一代互联网应用主要建设内容是,三年内完成政务外网向下一代网过渡,支持电信运营商开展下一代互联网商业运用,加快宽带光纤接入和网络升级,带动国产通信设备的推广应用,研制无线宽带移动多媒体终端。
支持骨干企业笔记本电脑研发中心建设和关键部件产业化,支持高性能计算机、服务器以及关键配套部件的研发和产业化也是此次规划的重点。
在软件及信息服务培育中,国家则会实施政府国产软件替代计划,包括出台政府采购规定。支持建设国家软件产业基地(出口基地)公共服务平台,加强软件产业人才实训体系建设。支持工业软件和行业解决方案、国产软件集成应用中关键技术研发和产业化。东软和用友是其中的重点企业。
申银万国分析师表示,移动通信、数字电视和下一带互联网的需求释放未来3年有6000亿元,考虑到移动通信需求释放有4000亿元,总量并没有超出预期。
另外,集成电路领域的产业整合的加快,技术升级所需要资金巨大。新型平板显示领域中国平板显示产业存在规模小、资金不足、配套缺乏的缺点,政策组合可能是,通过提高进口关税的结构调整达到鼓励中国制造包括本地配套,政府出资支持6-8代TFT生产线,而且将彩管、玻壳等25种重点电子产品出口退税比例升至17%,加大出口信贷、信用保险等方面的支持力度。
15:54 2009-2-19
Linux开发, 源代码分析/阅读, 工具, 试验, 续, <TODO>解决问题</TODO>
目前Sdio_Isr()完全没有分析出来. 原因未知, <TODO>解决</TODO>, 之前工作位于"22:01 2009-2-16"
9:52 2009-2-20
Linux开发, 文档: 参考资料, 源代码阅读工具; vim, ctags
1, 写给Linux内核新手-关于Linux内核学习的误区
自: http://linux.chinaunix.net/bbs/viewthread.php?tid=626486&extra=
还有个很重要的问题:怎样浏览内核源代码。有的朋友喜欢在Windows上工作,用Source Insight;有的在Linux,用Source Navigator;还有专门浏览源代码的软件,象lxr(Linux Cross Reference);还有用ctags/ectags/cscope等,这些都是很优秀的软件。我个人用Vim + ctags浏览(参考了www.linuxforum.net内核版wheelz大侠的文档,)。
<TODO>阅读所有回帖</TODO>
2, 我理解的逻辑地址、线性地址、物理地址和虚拟地址(补充完整了)
http://linux.chinaunix.net/bbs/viewthread.php?tid=919019&extra=page%3D1%26amp%3Bfilter%3Ddigest
<TODO>下载</TODO>. X86.
3, automake
学习使用autotools, <TODO>下载实验</TODO>
http://bbs2.chinaunix.net/viewthread.php?tid=727270
10:08 2009-2-20
Linux学习, 得到当前完整目录, pwd.c
原来看Unix/Linux编程实践教程时写的pwd只能找到文件系统的根目录, 没法找到根文件系统的根目录. 当时就放下了, 今天看到这个帖子, 打算有时间试试, 作为编程练习:
知道dentry项,如何才能得到该文件对应的全路径?
自: http://linux.chinaunix.net/bbs/viewthread.php?tid=1061739
canjian(LZ)
在vfs_mkdir中,如何才能由该文件夹对于的dentry来获取其全路径呢?
利用d_parent向上查找时,遇到文件挂接点就结束了,我要获取的是从根目录"/"开始的全路径
goter:
推荐LZ看pwd.c文件
通过dentry的vfsmount结构可以实现
18:03 2009-2-20
ARM, Cortex-M3, Luminary Micro
Luminary Micro使用Cortex-M3核,
Luminary位于美国德州首府Austin, google map:
http://maps.google.com/maps?f=q&hl=en&q=Wild+Basin+Rd+S,+Austin,+TX+78746&ie=UTF8&z=16&om=1&iwloc=addr
公司网址:
http://www.luminarymicro.com/products/products.html
18:10 2009-2-20
Linux学习, 模拟器Skyeye, 汇总
1, gdb调试:
帖子: http://www.linuxfans.org/bbs/thread-186573-1-3.html
http://skyeye.wiki.sourceforge.net/UM5
You can load your image on SkyEye with -d option to turn on debugging as the following:
./skyeye -d -e imagename
2, 关于skyeye发展的讨论:
我们的资源有限(有限的开发人员,时间和精力),如何能够把这些资源分配到最利于SkyEye发展的方向? 我们目前还在关注于架构和API层面。实际上对于mach模拟的进一步晚上,和产品级别的模拟,更多的是希望交给产品的厂商,或者其他一些嵌入式爱好者去做。SkyEye的核心开发人员目前关注于架构模拟的稳定性和提供更加合理高效的框架上,我们的目标是让一些系统软件开发人员很容易基于SkyEye做扩展。我们当前有限的资源不会投入到某一个特定的产品上,当然如果这个产品的厂商资助SkyEye项目,可以考虑。
SkyEye目前的定位:高效易用的,具有高度可扩性的调试开发环境及测试环境。
目前的问题是如果我们的整体架构还没有完全做好,就去花很多资源做某一款产品的非常细节的模拟。当以后发现整体架构需要改变,很可能前面做的某一产品级的模拟需要做很多改动。
为了尽可能容纳不同的外设,不同的架构和处理器,以及考虑到今后的多核模拟,丰富调试手段等等问题,我们需要提供尽可能大的可扩展性,这是我们当前关注的一个方向。
当前的SkyEye开发的进度比较缓慢一些,可能没有达到大家的预期。主要由于:
1. SkyEye的可利用的开发资源有限,有限的时间和人力
2. 目前SkyEye的代码已经超过10万行,测试和维护的成本越来越高。
<TODO>Android qemu模拟器中有sd等, 能否移植到skyeye? qemu和skyeye应该可以共享代码</TODO>
谈谈个人对SKYEYE的看法及目前在做的一些事情
http://www.linuxfans.org/bbs/thread-186453-1-3.html
3, QTE-4.4.3成功
自: http://www.linuxfans.org/bbs/thread-186487-1-3.html, 原文没有说明移植过程.
Kernel 2.6.14.7+skyeye-patch
QTE-4.4.3成功运行demo程序
但是真的慢到没法用
:-(
4, s3c2440板子skyeye conf文件
http://www.linuxfans.org/bbs/thread-187665-1-1.html
#skyeye config file sample
cpu: arm920t
mach: s3c2440
#physical memory
#mem_bank: map=M, type=RW, addr=0x20000000, size=0x01000000
mem_bank: map=M, type=RW, addr=0x30000000, size=0x00800000
mem_bank: map=M, type=RW, addr=0x30800000, size=0x00800000, file=./initrd.img
mem_bank: map=M, type=RW, addr=0x31000000, size=0x01000000
#all peripherals I/O mapping area
#mem_bank: map=I, type=RW, addr=0xfefa0000, size=0x00060000
mem_bank: map=I, type=RW, addr=0x48000000, size=0x20000000
mem_bank: map=I, type=RW, addr=0x19000300, size=0x00000020
#net: type=cs8900a, base=0x19000300, size=0x20,int=9, mac=0:4:3:2:1:f, ethmod=tuntap, hostip=10.0.0.1
lcd:type=s3c2440,mod=gtk
load_addr:base=0x30000000, mask=0xFFFFFF
#dbct:state=on
18:21 2009-2-20
<TODO>codeviz+VC0830</TODO>
12:28 2009-2-23
嵌入式, 调试, 论坛回帖
原文: 問下大家手頭沒有板子的情況下 如何調試開發嵌入式程序
回复: 呵呵, 菜鸟也参与一下
我觉得没有板子能开发调试嵌入式程序的环境有如下几种:
1, IDE环境自带的仿真器, 单片机的开发环境一般都有. arm ads也有: 能调试只使用arm核的程序, arm的我没怎么用过;
2, 指令集仿真器. 我用过opensource openrisc的iss, leon的tsim, grsim, 它们都启动Linux这样的OS, 支持CPU和典型外设(uart, sdram等等). tsim和grsim都支持gdb调试.
3, 开发板的仿真器: 比如qemu, skyeye. 能支持完成的SOC芯片和常用片外模块. 而且易于添加新的硬件模块. skyeye有gdb的调试接口, 用gdb调试就可以.
4, 当然, 如果楼主有IC的源码, 在verilog/VHDL仿真器上也可以跑程序, 应该也可以调试, 就是速度很慢.
9楼: bitmilong
感謝bamv2005兄的回復
1. IDE環境自帶的仿真器,可以脫離板子運行嗎?我以前用過的好像不行.
2. 的確是好東西,可以詳細介紹下 iss, tsim, grsim 嗎, 如果 有資料的話就更好了. 這裏說的典型外設 不知道夠用不
3. 非常棒的方法. 只是我的skyeye還沒用成.
4. 比較困難的方法.
bamv2005兄對這塊好像非常了解呀, 能說出這麼多種方法, 不一般呀, 贊一個
回复9楼:
<回帖中引用9楼回复>
1, 至少有些可以. 当初用过的keil跑51的程序; EW430跑TI MSP430 16位MCU的程序, EW430里面还直接能仿真MSP430F4xx系列的段式液晶. ADS应该也可以, 手头没装, 改天确认一下.
2, iss是Instruction Set Simulator, 指令集仿真器, 其中实现了某个或某类CPU全部指令集. 为了仿真方便一般还仿真了uart, memory controller, memory等.
1), 上面提到的openrisc(or1k)是一个开源的RISC CPU, 网址是"http://www.opencores.org/projects.cgi/web/or1k/overview", 这个网站上面都是开源的IP core. 另外有本书是专门介绍这个CPU和Linux移植的: CPU源代码分析与芯片设计及Linux移植. 这个CPU的iss网址"http://www.opencores.org/projects.cgi/web/or1k/architectural_simulator".
2), LEON是SPARC v8体系结构的开源CPU, 分为LEON2和LEON3, 大致相当于ARM7, ARM9的性能. 网址"http://www.gaisler.com/leonmain.html"有介绍. 仿真器:
tsim: http://www.gaisler.com/cms/index.php?option=com_content&task=view&id=38&Itemid=56
grsim: http://www.gaisler.com/cms/index.php?option=com_content&task=view&id=141&Itemid=86
这两个仿真器都能运行Linux, 仿真器的开发包里面有编译好的Linux内核和文件系统映像.
gsrim仿真了uart, timer, sdram/sram/prom controller, ethernet, irq, 用户可以扩展其它模块(评估板不支持:( ).
3, 前几天又试了下skyeye, 感觉比原来好用一些, testcuite也很全. 楼主用skyeye跑Linux么? 咱们讨论讨论:)
4, 这个办法其实是做IC的人可能会用到, 因为有些东西在FPGA上不好验证或没法验证.
呵呵, 我本来是学IC的, 转行做嵌入式软件. 所以一直对这些比较关注, 只是每块都不深入:( 而且我当初想学嵌入式Linux开发时, 没找到合适的板子, 最开始就是用的skyeye和tsim入门的, 写日志和文档的习惯也是那时养成的.
12:46 2009-2-23
嵌入式, cpu, 龙芯
自: CPU Emulator
位置: bamvor张健的文档\micro微电子与计算机\Embeded嵌入式系统\SOC嵌入式系统芯片\虚拟技术
注: 这是我2006年1月保存的文章, 当时没有保存具体地址和标题, 今天想把网址贴出来于是就搜索了一下:
http://www.lemote.com/bbs/viewthread.php?tid=10368&highlight=
题目: 盒子里的世界: MIPS虚拟机(转)
帖子回帖中还提到了龙芯模拟器, 有空可以看看.
13:06 2009-2-23
嵌入式, bootloader, u-boot移植, 回帖
帖子地址: http://linux.chinaunix.net/bbs/thread-1061050-1-1.html
也建议认真楼主认真看看代码, 如果使用nand flash, saveenv要把env写到nand flash中.
帮你看了下我当初的移植过程, 如果u-boot nand flash读写没问题, 还需要修改配置文件
需要在配置文件"include\configs\your_board_name.h"中加入"CFG_ENV_IS_IN_NAND", "CFG_ENV_OFFSET", "CFG_ENV_SIZE"的定义. 例如:
#define CFG_ENV_IS_IN_NAND 1
#define CFG_ENV_OFFSET 0x38000 /* environment starts here */
#define CFG_ENV_SIZE 0x8000 /* Total Size of Environment Sector */
"CFG_ENV_OFFSET"和"CFG_ENV_SIZE"得符合你总体的分区, 我的分区如下:
自文件: linux-2.6.14\arch\arm\mach-s3c2410\devs.c: s
static struct mtd_partition partition_info[] = {
{
.name = "bootloader",
.size = 0x00038000,
.offset = 0x0
},
{
.name = "environment",
.size = 0x00008000,
.offset = 0x00038000
},
{
.name = "kernel",
.size = 0x001C0000,
.offset = 0x00040000
},
{
.name = "root",
.size = 0x03000000,
.offset = 0x00200000
},
{
.name = "user",
.size = 0x00E00000,
.offset = 0x03200000
}
};
另外saveenv函数定义在"common\env-flash.c". 可以参考我当时移植的记录: "http://bamv.spaces.live.com/blog/cns!569B6B5EA6A99B9E!276.entry", porting_u_boot-1.2.0.
我移植的版本是u-boot1.2.0, linux2.6.14.
14:04 2009-2-24
首帖: 检测 USB 设备插入/删除,如何实现?
我想捕获 USB 设备 insert/remove 后相应的系统消息,判断是否有设备插入/移除,如何实现呢?网上搜了一下大概与 udev 有关,但是具体调用什么函数?有相关的实例最好,谢谢了。
回复:
1, "原来是内核向用户空间会发送NETLINK类的消息,在用户空间用个NETLINK的socket接收就能捕捉到了。"
2, 12楼:
QUOTE:
原帖由 Godbach 于 2008-12-19 15:04 发表
好像是用这种机制。回头仔细了解一下。那位有相关的文章,也欢迎贴上来大家一起学习啊。
udev没仔细研究,实际上热插拔技术。就是有一个内核线程,一旦检测到变化,就执行一系列操作,并通知用户层(很多情况是执行用户层挂接的一个helper函数)
3, 13楼:
看看Udev的源码
大概思路是UDEV通过netlink监听内核事件
当内核检查到有设备时就会通过netlink向UDEV发消息
4, 14楼:
要想获取这些消息,内核的hotplug必须选中
5, 15楼:
这个设计到很多,2.6的 核是 udev 机制,可以看一下热插拨 ,但是内核的检测要看usb hub 协议,由内核线程检测,USB中断传输端点返回的信息,至于硬件支持,USB设备硬件都会支持吧,这是USB设备的属性,坛子里的人如果有时间可以好好研究下,写本书了
6, Bamvor, 参考:
1), "man 7 netlink"
2), "man 3 libnetlink", 需要安装libnetlink, 我的FC10没装.
3), Linux热插拔=+.txt, 位置: "bamvor张健的文档\micro微电子与计算机\Embeded嵌入式系统\软件设计\OS操作系统\linux\驱动"
4), 一个监测usb设备热插拔的c代码_未验证=+.txt, 位置同上.
18:32 2009-2-24
嵌入式, Linux, USB gadget, usb盘
2440开发板在LINUX下模拟成U盘作为从设备与PC机通信
自: http://linux.chinaunix.net/bbs/thread-978418-1-1.html
1楼
现在正在做2440开发板在LINUX下模拟成U盘作为从设备与PC机通信,也就是USB gadget驱动
通过2.6.13内核下2410_udc.c,file_storage.c得到加载的驱动模块
板子启动系统后:
[root@FriendlyARM udc]# insmod s3c2410_udc.ko
s3c2410_udc: version 28 Aug 2005
0.00 USB: s3c2410_udc_probe
0.01 USB: udc_disable called
[root@FriendlyARM udc]# insmod g_file_storage.ko file=/dev/scsi/host0/bus0/target0/lun0/part1 stall=0 removable=1
0.02 USB: usb_gadget_register_driver() 'g_file_storage'
0.03 USB: binding gadget driver 'g_file_storage'
0.04 USB: s3c2410_set_selfpowered()
g_file_storage gadget: File-backed Storage Gadget, version: 20 October 2004
g_file_storage gadget: Number of LUNs=1
g_file_storage gadget-lun0: ro=0, file: /dev/scsi/host0/bus0/target0/lun0/part1
0.05 USB: udc_enable called
然后将USB线插入PC机中,就没有反应了
0.07 USB: USB reset csr 0 pwr 8
哪位大侠能指点下吗
12楼
我加载不上g_file.ko,只好在内核内建支持gadget file system了。
dmesg |grep usb -i 看看
。。。。
<4>0.00 USB: s3c2410_udc_probe
<4>0.01 USB: udc_disable called
<6>gadgetfs: USB Gadget filesystem, version 24 Aug 2004
然后,我就不知道怎么用了
13楼:
[root@FriendlyARM udc]# insmod g_file_storage.ko file=/dev/scsi/host0/bus0/target0/lun0/part1 stall=0 removable=1
这句错了, u盘的设备文件为 /dev/scsi/host0/bus0/target0/lun0/disc
所以改为insmod g_file_storage.ko file /dev/scsi/host0/bus0/target0/lun0/disc stall=0 removable=1 就可以了
12:31 2009-2-25
计算机, CPU, 工艺, Intel, AMD, 32nm, 22nm, 博客, 专业新闻, <TODO></TODO>
位置: bamvor张健的文档\micro微电子与计算机\Embeded嵌入式系统\集成电路与半导体
瞄向22纳米处理器 AMD欲与英特尔再争锋
自: http://news.chinaunix.net/a/2009/02/25/1378278.shtml
摘要:
英特尔明年一季度将推出基于32纳米的处理器,代号Westmere;
4AMD继续采取坚持自主生产与外包制作相结合的道路最快将在2010年进入32纳米工艺制程,与此同时AMD在核心数量上与Intel展开竞争;
另外有报道称,IBM联合AMD共同研发22纳米,并将在2010年实现量产。
12:54 2009-2-25
嵌入式, Linux, maillist
要向列表发信,请发送到
linux-kernel@zh-kernel.org
此列表的常规信息位于:
http://zh-kernel.org/mailman/listinfo/linux-kernel
如果您想要取消订阅或者修改您的选项(例如,切换至摘要模式,修改口令等),请访
问您的订阅页:
http://zh-kernel.org/mailman/options/linux-kernel/bamv2005%40gmail.com
18:22 2009-2-25
Linux学习, 数据结构与算法, 红黑树(rb tree), Linux内核中的红黑树, 摘要
题目: Linux内核中的红黑树
位置: "bamvor张健的文档\micro微电子与计算机\Embeded嵌入式系统\软件设计\OS操作系统\linux\内核"
自: http://linux.chinaunix.net/bbs/viewthread.php?tid=1055772
摘要:
红黑树是平衡二叉树的一种,它有很好的性质,树中的结点都是有序的,而且因为它本身就是平衡
的,所以查找也不会出现非常恶劣的情况,基于二叉树的操作的时间复杂度是O(log(N))。Linux内
核在管理vm_area_struct时就是采用了红黑树来维护内存块的。
1, 1楼的Linux红黑树实现
2, 50楼内核红黑树文档Documentation/rbtree.txt(Linux2.6.25)
红黑树参考资料:
Linux Weekly News article on red-black trees
http://lwn.net/Articles/184495/
Wikipedia entry on red-black trees
http://en.wikipedia.org/wiki/Red-black_tree
3, 62楼有个红黑树的测试程序.
4, ULK3 9.3结合memory讲解Linux红黑树实现.
18:24 2009-2-25
发展规划, 随想
希望是工作为主, 彻底熟悉底层. Linux内核学习为辅. 目前状态不是很好.
9:05 2009-2-26
嵌入式, 更换操作系统, windows->Linux, 非标准串口
高手进解决工控主板非标准串口问题 急急急
自: http://linux.chinaunix.net/bbs/thread-1062216-1-1.html
进来公司中控系统全部转为linux,原来采购的工控机统一装精简版windows XP,现在装的redhat9,工控机配了4个串口,com1 com2为标准串口,com3 com4由于要走线方便将串口不用的两跟线路改为供电线,也就是说2,3,5为出口收发数据线及接地,又接两根5V电源线用于给设备供电,及有5跟线连在一个DB9头上。问题是原本在WINDOWS系统上串口都可以正常使用,现在换成LINUX系统,写了一个串口测试程序,com1,com2可以正常使用,com3,com4可以收发数据但是数据不准确。我原本分析是否是硬件信号的问题,在软件上已设置为软件控制信号,可以问题依然存在。现在我怀疑是否是redhat串口驱动或配置问题,盼高手指教!!!!!!!!!!
redhat9只安装基本上最小安装
6楼 发表于 2009-2-17 15:08
今天用setserial 查看了一下4个串口信息,除了中断级别3或4的区别 ,其他信息应该没什么区别。 系统默认的波特率是115200 ,我用115200测试com3,com4,发现这回数据是准确的了 ,不过出现了一个新问题是反应特别慢,这边发送出去后大概4,5秒接收端才能收到。而采用其他波特率数据都完全不准确。我用setserial命令改变了com3的波特率为19200,数据仍然完全不对。即只有在默认的115200情况数据是准确的但是反应很慢。望各位高手看看是怎么回事。com1,com2在测试程序下一切正常
8楼 发表于 2009-2-24 17:12