- 论坛徽章:
- 0
|
原帖由 albcamus 于 2006-4-25 15:42 发表
>>如果没有串口初始化呢?
/dev/console初始化之前,可以用early_printk打印信息。
to huyongzs:
>>gcc -g -o kprinter kernelprinter.c
2.4和2.6编译过程不一样。 如果是前者, 去掉-g试试; ...
在没有初始化串口时,在寄存器中,置入字符及输入,需要一些基本的转换
输入的全为字符,需将其转换为相对应的数据类型.
因此,在所有的Bootloader中,都几乎要做这一步.
不管在任何时候,需要操作串口接口,可以自己写一个操作函数.不管在任何时候
都可以输出.好像设置相关寄存器只有几句话.看三星和Moto的都这样.
-g 是包括调试信息之意.
如使用/dev/console,也就是/dev/tty(Sxx)等,都是在串口驱动启动以后;
之前,有一小段初始化串口代码,就是几句置数寄存器操作.而直接操作物理
接口,不受任何限制.以前我们都这样做的.包括下载Bootloader及调试.这时
没有任何输出,不可能用逻辑分析仪吧.不累死了.
但一般来讲,在内核空间是可以用文件操作的,因为VFS是Built-in内核的,大多数
情况是必须的. |
|