2014年5月24日 星期六

boot.scr生成

boot.scr中可以包含用于载入script.bin,kernel,initrd(可选)以及设置内核启动参数的uboot命令。

新建 boot.cmd 文件,添加以下内容:
setenv bootargs console=ttyS0,115200 noinitrd disp.screen0_output_mode=EDID:1280x1024p60 init=/init root=/dev/mmcblk0p2  rootfstype=ext4 rootwait panic=10 ${extra}
fatload mmc 0 0x43000000 boot/script.bin
fatload mmc 0 0x48000000 boot/uImage
bootm 0x48000000
详细解释:
上述第一行设置uboot的bootargs启动参数,格式为 参数=值,不同参数使用空格分开,其中
  • console=ttyS0,115200 含义为使用特定的串口ttyS0,波特率为 115200
  • noinitrd 含义为不使用ramdisk(内存磁盘)
  • init=/init 含义为内核启起来后,进入系统中运行的第一个脚本
  • root=/dev/mmcblk0p2 含义为指定rootfs的位置为TF卡第二个分区
  • rootfstype=ext4 含义为根文件系统类型
  • rootwait 含义为等待设备/dev/mmcblk0p2就绪后才尝试挂载rootfs
  • panic=10 传递内核参数,当遇到panic(内核严重错误)时等待10秒后重启
  • screen0_output_mode 设置合适的屏幕显示分辨率
更多的参数可以通过查看Linux内核源码目录下Documentation/kernel-parameters.txt文件了解
第二行和第三行为将script.bin和内核uImage加载到指定内存地址。fatload是U-Boot中装载linux kernel 到内存的指令。
基本用法:fatload <interface> <dev[:part]> <addr> <filename> <bytes>
  • interface:所用到接口,如:MMC、USB
  • dev [:part]: 文件存放的设备 如:ide 0:1
  • addr: 装载到内存的开始地址。
  • filename: 装载的文件名称。
  • bytes: copy的字节数.
. 第四行bootm 用于将内核映像加载到指定的地址
保存文件后,执行以下命令生成boot.scr:
 mkimage -C none -A arm -T script -d boot.cmd boot.scr



來源:http://blog.csdn.net/u013510236/article/details/18451271

2014年5月23日 星期五

ft5x_ts 觸碰設定問題

這是一台壞掉的A10平板ET-425
裡面nand壞了無法開機
以sd開機執行debain

添加觸碰面板驅動

這邊使用NOVO 7 ELF的script.bin
修改
[ctp_para]
ctp_boxchip_type = 2579
ctp_used                 =1
ctp_name                 = "ft5x_ts"
ctp_twi_id               = 2
ctp_twi_addr             =0x38
ctp_screen_max_x         = 1024
ctp_screen_max_y         = 600
ctp_revert_x_flag        = 0
ctp_revert_y_flag        = 0
ctp_exchange_x_y_flag    = 1
ctp_int_port             = port:PH21<6><default><default><default>
ctp_wakeup               = port:PB13<1><default><default><default>


我把編譯好的ft5x_ts.ko
放到根目錄裡

在/etc/rc.local
裡面加入
insmod /ft5x_ts.ko or /lib/modules/3.4.29+/kernel/drivers/input/touchscreen/ft5x_ts.ko
使開機自動載入




<6>===========================ft5x_ts_init=====================              
[   57.580000] ===========================ft5x_ts_init=====================  
<6>ctp_fetch_sysconfig_para.                                                  
[   57.600000] ctp_fetch_sysconfig_para.                                      
<6>ctp_fetch_sysconfig_para: after: ctp_twi_addr is 0x38, dirty_addr_buf: 0x38.
dirty_addr_buf[1]: 0xfffe                                                    
[   57.600000] ctp_fetch_sysconfig_para: after: ctp_twi_addr is 0x38, dirty_addr
_buf: 0x38. dirty_addr_buf[1]: 0xfffe                                        
<6>ctp_fetch_sysconfig_para: ctp_twi_id is 2.                                
[   57.630000] ctp_fetch_sysconfig_para: ctp_twi_id is 2.                    
<6>ctp_fetch_sysconfig_para: screen_max_x = 1024.                            
[   57.630000] ctp_fetch_sysconfig_para: screen_max_x = 1024.                
<6>ctp_fetch_sysconfig_para: screen_max_y = 600.                              
[   57.650000] ctp_fetch_sysconfig_para: screen_max_y = 600.                  
<6>ctp_fetch_sysconfig_para: revert_x_flag = 0.                              
[   57.660000] ctp_fetch_sysconfig_para: revert_x_flag = 0.                  
<6>ctp_fetch_sysconfig_para: revert_y_flag = 0.                              
[   57.670000] ctp_fetch_sysconfig_para: revert_y_flag = 0.                  
<6>ctp_fetch_sysconfig_para: exchange_x_y_flag = 0.                          
[   57.680000] ctp_fetch_sysconfig_para: exchange_x_y_flag = 0.              
<6>ft5x_ts_init: after fetch_sysconfig_para:  normal_i2c: 0x38. normal_i2c[1]: 0
xfffe                                                                        
[   57.690000] ft5x_ts_init: after fetch_sysconfig_para:  normal_i2c: 0x38. norm
al_i2c[1]: 0xfffe                                                            
<3>script parser fetch err.                                                  
[   57.700000] script parser fetch err.                                      
<4>ctp_init_platform_resource: tp_reset request gpio fail!                    
[   57.710000] ctp_init_platform_resource: tp_reset request gpio fail!        
<3>script parser fetch err.                                                  
[   57.720000] script parser fetch err.                                      
<6>ctp_init_platform_resource: No power port feature present.                
[   57.730000] ctp_init_platform_resource: No power port feature present.    
<6>ctp_wakeup.                                                                
[   57.740000] ctp_wakeup.                                                    
<6>ctp_detect: Detected chip ft5x_ts at adapter 2, address 0x38              
[   57.790000] ctp_detect: Detected chip ft5x_ts at adapter 2, address 0x38  
<6>====ft5x_ts_probe begin=====.                                              
[   57.810000] ====ft5x_ts_probe begin=====.                                  
<6>input: ft5x_ts as /devices/platform/sun4i-i2c.2/i2c-2/2-0038/input/input1  
[   57.810000] input: ft5x_ts as /devices/platform/sun4i-i2c.2/i2c-2/2-0038/inpu
t/input1                                                                      
<6>ctp_set_irq_mode: config gpio to int mode.                                
[   57.840000] ctp_set_irq_mode: config gpio to int mode.                    
<6>ctp_set_irq_mode, 225: gpio_int_info, port = 8, port_num = 21.            
[   57.850000] ctp_set_irq_mode, 225: gpio_int_info, port = 8, port_num = 21.
<6> INTERRUPT CONFIG                                                          
[   57.870000]  INTERRUPT CONFIG                                              
<6>==ft5x_ts_probe over =                                                    
[   57.880000] ==ft5x_ts_probe over =  


看到一些錯誤訊息
不過還是可以動...
很奇妙....


script.bin
修改成


[ctp_para]
ctp_boxchip_type = 2579
ctp_used                 =1
ctp_name                 = "ft5x_ts"
ctp_twi_id               = 2
ctp_twi_addr             =0x38
ctp_screen_max_x         = 1024
ctp_screen_max_y         = 600
ctp_revert_x_flag        = 0
ctp_revert_y_flag        = 0
ctp_exchange_x_y_flag    = 1
ctp_int_port = port:PH21<6><default><default><default>
ctp_wakeup = port:PB13<1><default><default><1>
ctp_reset = port:PB13<1><default><default><1>
ctp_io_port = port:PH21<0><default><default><default>

結果

<6>===========================ft5x_ts_init=====================              
[   35.630000] ===========================ft5x_ts_init=====================  
<6>ctp_fetch_sysconfig_para.                                                  
[   35.640000] ctp_fetch_sysconfig_para.                                      
<6>ctp_fetch_sysconfig_para: after: ctp_twi_addr is 0x38, dirty_addr_buf: 0x38.
dirty_addr_buf[1]: 0xfffe                                                    
[   35.650000] ctp_fetch_sysconfig_para: after: ctp_twi_addr is 0x38, dirty_addr
_buf: 0x38. dirty_addr_buf[1]: 0xfffe                                        
<6>ctp_fetch_sysconfig_para: ctp_twi_id is 2.                                
[   35.670000] ctp_fetch_sysconfig_para: ctp_twi_id is 2.                    
<6>ctp_fetch_sysconfig_para: screen_max_x = 1024.                            
[   35.680000] ctp_fetch_sysconfig_para: screen_max_x = 1024.                
<6>ctp_fetch_sysconfig_para: screen_max_y = 600.                              
[   35.690000] ctp_fetch_sysconfig_para: screen_max_y = 600.                  
<6>ctp_fetch_sysconfig_para: revert_x_flag = 0.                              
[   35.700000] ctp_fetch_sysconfig_para: revert_x_flag = 0.                  
<6>ctp_fetch_sysconfig_para: revert_y_flag = 0.                              
[   35.710000] ctp_fetch_sysconfig_para: revert_y_flag = 0.                  
<6>ctp_fetch_sysconfig_para: exchange_x_y_flag = 1.                          
[   35.720000] ctp_fetch_sysconfig_para: exchange_x_y_flag = 1.              
<6>ft5x_ts_init: after fetch_sysconfig_para:  normal_i2c: 0x38. normal_i2c[1]: 0
xfffe                                                                        
[   35.730000] ft5x_ts_init: after fetch_sysconfig_para:  normal_i2c: 0x38. norm
al_i2c[1]: 0xfffe                                                            
<3>script parser fetch err.                                                  
[   35.750000] script parser fetch err.                                      
<6>ctp_init_platform_resource: No power port feature present.                
[   35.750000] ctp_init_platform_resource: No power port feature present.    
<6>ctp_reset.                                                                
[   35.770000] ctp_reset.                                                    
<6>ctp_wakeup.                                                                
[   35.800000] ctp_wakeup.                                                    
<6>ctp_detect: Detected chip ft5x_ts at adapter 2, address 0x38              
[   35.850000] ctp_detect: Detected chip ft5x_ts at adapter 2, address 0x38  
<6>====ft5x_ts_probe begin=====.                                              
[   35.860000] ====ft5x_ts_probe begin=====.                                  
<6>input: ft5x_ts as /devices/platform/sun4i-i2c.2/i2c-2/2-0038/input/input1  
[   35.870000] input: ft5x_ts as /devices/platform/sun4i-i2c.2/i2c-2/2-0038/inpu
t/input1                                                                      
<6>ctp_set_irq_mode: config gpio to int mode.                                
[   35.890000] ctp_set_irq_mode: config gpio to int mode.                    
<6>ctp_set_irq_mode, 225: gpio_int_info, port = 8, port_num = 21.            
[   35.900000] ctp_set_irq_mode, 225: gpio_int_info, port = 8, port_num = 21.
<6> INTERRUPT CONFIG                                                          
[   35.910000]  INTERRUPT CONFIG                                              
<6>==ft5x_ts_probe over =                                                    
[   35.920000] ==ft5x_ts_probe over =

預測2031/1/1可能 TWCA 憑證 IOS會出現不信任

緣由: TWCA CYBER Root CA 有兩張、兩個效期 (2030、2047年到期) 推測TWCA 預計 2030年12月會停用: TWCA CYBER Root CA (2030 年到期) TWCA Global Root CA 改用啟用: TWCA CYBER ...