页次: 1
如题,刷入百问网提供的固件没问题,但是自己编译的固件就提示这个,部分日志如下
[ 7.503279] Waiting for root device /dev/mmcblk0p5…
[ 7.514820] sunxi-mmc sdc2: retry:start
[ 7.520364] sunxi-mmc sdc2: send manual stop command failed
[ 8.526255] sunxi-mmc sdc2: wait r1 rdy 1000 ms timeout
[ 8.532093] sunxi-mmc sdc2: retry:busy timeout
[ 8.537078] sunxi-mmc sdc2: RETRY: REG_SAMP_DL: 0x00000080
[ 8.543238] sunxi-mmc sdc2: retry:re-send cmd
[ 8.549069] sunxi-mmc sdc2: smc 0 p2 err, cmd 8, RD RE EBE !!
[ 8.555528] sunxi-mmc sdc2: retry:start
[ 8.561050] sunxi-mmc sdc2: send manual stop command failed
[ 9.566256] sunxi-mmc sdc2: wait r1 rdy 1000 ms timeout
[ 9.572082] sunxi-mmc sdc2: retry:busy timeout
[ 9.577051] sunxi-mmc sdc2: RETRY: REG_SAMP_DL: 0x00000282
[ 9.583186] sunxi-mmc sdc2: retry:re-send cmd
[ 9.589005] sunxi-mmc sdc2: smc 0 p2 err, cmd 8, RD RE EBE !!
[ 9.595463] sunxi-mmc sdc2: retry:start
[ 9.600993] sunxi-mmc sdc2: send manual stop command failed
[ 10.606254] sunxi-mmc sdc2: wait r1 rdy 1000 ms timeout
[ 10.612107] sunxi-mmc sdc2: retry:busy timeout
[ 10.617096] sunxi-mmc sdc2: RETRY: REG_SAMP_DL: 0x00000484
[ 10.623242] sunxi-mmc sdc2: retry:re-send cmd
[ 10.629084] sunxi-mmc sdc2: smc 0 p2 err, cmd 8, RD RE EBE !!
[ 10.635554] sunxi-mmc sdc2: retry:start
[ 10.641075] sunxi-mmc sdc2: send manual stop command failed
[ 11.646255] sunxi-mmc sdc2: wait r1 rdy 1000 ms timeout
[ 11.652100] sunxi-mmc sdc2: retry:busy timeout
[ 11.657082] sunxi-mmc sdc2: RETRY: REG_SAMP_DL: 0x00000686
[ 11.663246] sunxi-mmc sdc2: retry:re-send cmd
[ 11.669091] sunxi-mmc sdc2: smc 0 p2 err, cmd 8, RD RE EBE !!
[ 11.675539] sunxi-mmc sdc2: retry:start
[ 11.681064] sunxi-mmc sdc2: send manual stop command failed
[ 12.686254] sunxi-mmc sdc2: wait r1 rdy 1000 ms timeout
[ 12.692091] sunxi-mmc sdc2: retry:busy timeout
[ 12.697074] sunxi-mmc sdc2: RETRY: REG_SAMP_DL: 0x00000888
[ 12.703220] sunxi-mmc sdc2: retry:re-send cmd
[ 12.709062] sunxi-mmc sdc2: smc 0 p2 err, cmd 8, RD RE EBE !!
[ 12.715525] sunxi-mmc sdc2: retry:start
[ 12.721057] sunxi-mmc sdc2: send manual stop command failed
[ 13.726254] sunxi-mmc sdc2: wait r1 rdy 1000 ms timeout
[ 13.732096] sunxi-mmc sdc2: retry:busy timeout
[ 13.737076] sunxi-mmc sdc2: RETRY: REG_SAMP_DL: 0x00000a8a
[ 13.743227] sunxi-mmc sdc2: retry:re-send cmd
[ 13.749069] sunxi-mmc sdc2: smc 0 p2 err, cmd 8, RD RE EBE !!
[ 13.755533] sunxi-mmc sdc2: retry:start
[ 13.761063] sunxi-mmc sdc2: send manual stop command failed
[ 14.766254] sunxi-mmc sdc2: wait r1 rdy 1000 ms timeout
[ 14.772086] sunxi-mmc sdc2: retry:busy timeout
[ 14.777066] sunxi-mmc sdc2: RETRY: REG_SAMP_DL: 0x00000c8c
[ 14.783209] sunxi-mmc sdc2: retry:re-send cmd
[ 14.789039] sunxi-mmc sdc2: smc 0 p2 err, cmd 8, RD RE EBE !!
[ 14.795500] sunxi-mmc sdc2: retry:start
[ 14.801026] sunxi-mmc sdc2: send manual stop command failed
[ 15.806254] sunxi-mmc sdc2: wait r1 rdy 1000 ms timeout
[ 15.812095] sunxi-mmc sdc2: retry:busy timeout
[ 15.817076] sunxi-mmc sdc2: RETRY: REG_SAMP_DL: 0x00000e8e
[ 15.823228] sunxi-mmc sdc2: retry:re-send cmd
[ 15.829064] sunxi-mmc sdc2: smc 0 p2 err, cmd 8, RD RE EBE !!
[ 15.835521] sunxi-mmc sdc2: retry:start
[ 15.841046] sunxi-mmc sdc2: send manual stop command failed
[ 16.846254] sunxi-mmc sdc2: wait r1 rdy 1000 ms timeout
[ 16.852090] sunxi-mmc sdc2: retry:busy timeout
[ 16.857072] sunxi-mmc sdc2: RETRY: REG_SAMP_DL: 0x00001090
[ 16.863223] sunxi-mmc sdc2: retry:re-send cmd
[ 16.869060] sunxi-mmc sdc2: smc 0 p2 err, cmd 8, RD RE EBE !!
[ 16.875519] sunxi-mmc sdc2: retry:start
[ 16.881046] sunxi-mmc sdc2: send manual stop command failed
[ 17.886256] sunxi-mmc sdc2: wait r1 rdy 1000 ms timeout
[ 17.892089] sunxi-mmc sdc2: retry:busy timeout
[ 17.897073] sunxi-mmc sdc2: RETRY: REG_SAMP_DL: 0x00001292
[ 17.903225] sunxi-mmc sdc2: retry:re-send cmd
[ 17.909059] sunxi-mmc sdc2: smc 0 p2 err, cmd 8, RD RE EBE !!
[ 17.915521] sunxi-mmc sdc2: retry:start
[ 17.921046] sunxi-mmc sdc2: send manual stop command failed
[ 18.926254] sunxi-mmc sdc2: wait r1 rdy 1000 ms timeout
[ 18.932100] sunxi-mmc sdc2: retry:busy timeout
[ 18.937082] sunxi-mmc sdc2: RETRY: REG_SAMP_DL: 0x00001494
[ 18.943232] sunxi-mmc sdc2: retry:re-send cmd
[ 18.949066] sunxi-mmc sdc2: smc 0 p2 err, cmd 8, RD RE EBE !!
[ 18.955537] sunxi-mmc sdc2: retry:start
[ 18.961061] sunxi-mmc sdc2: send manual stop command failed
[ 19.966254] sunxi-mmc sdc2: wait r1 rdy 1000 ms timeout
[ 19.972076] sunxi-mmc sdc2: retry:busy timeout
[ 19.977042] sunxi-mmc sdc2: RETRY: REG_SAMP_DL: 0x00001696
[ 19.983185] sunxi-mmc sdc2: retry:re-send cmd
[ 19.989001] sunxi-mmc sdc2: smc 0 p2 err, cmd 8, RD RE EBE !!
[ 19.995447] sunxi-mmc sdc2: retry:start
[ 20.000966] sunxi-mmc sdc2: send manual stop command failed
[ 21.006254] sunxi-mmc sdc2: wait r1 rdy 1000 ms timeout
[ 21.012079] sunxi-mmc sdc2: retry:busy timeout
[ 21.017049] sunxi-mmc sdc2: RETRY: REG_SAMP_DL: 0x00001898
[ 21.023188] sunxi-mmc sdc2: retry:re-send cmd
[ 21.029006] sunxi-mmc sdc2: smc 0 p2 err, cmd 8, RD RE EBE !!
[ 21.035452] sunxi-mmc sdc2: retry:start
[ 21.040961] sunxi-mmc sdc2: send manual stop command failed
[ 22.046254] sunxi-mmc sdc2: wait r1 rdy 1000 ms timeout
[ 22.052080] sunxi-mmc sdc2: retry:busy timeout
[ 22.057049] sunxi-mmc sdc2: RETRY: REG_SAMP_DL: 0x00001a9a
[ 22.063188] sunxi-mmc sdc2: retry:re-send cmd
[ 22.069007] sunxi-mmc sdc2: smc 0 p2 err, cmd 8, RD RE EBE !!
[ 22.075453] sunxi-mmc sdc2: retry:start
[ 22.080964] sunxi-mmc sdc2: send manual stop command failed
[ 23.086253] sunxi-mmc sdc2: wait r1 rdy 1000 ms timeout
[ 23.092079] sunxi-mmc sdc2: retry:busy timeout
[ 23.097048] sunxi-mmc sdc2: RETRY: REG_SAMP_DL: 0x00001c9c
[ 23.103184] sunxi-mmc sdc2: retry:re-send cmd
[ 23.109003] sunxi-mmc sdc2: smc 0 p2 err, cmd 8, RD RE EBE !!
[ 23.115448] sunxi-mmc sdc2: retry:start
[ 23.120958] sunxi-mmc sdc2: send manual stop command failed
[ 24.126253] sunxi-mmc sdc2: wait r1 rdy 1000 ms timeout
[ 24.132077] sunxi-mmc sdc2: retry:busy timeout
[ 24.137045] sunxi-mmc sdc2: RETRY: REG_SAMP_DL: 0x00001e9e
[ 24.143181] sunxi-mmc sdc2: retry:re-send cmd
[ 24.148999] sunxi-mmc sdc2: smc 0 p2 err, cmd 8, RD RE EBE !!
[ 24.155443] sunxi-mmc sdc2: retry:start
[ 24.160955] sunxi-mmc sdc2: send manual stop command failed
[ 25.166254] sunxi-mmc sdc2: wait r1 rdy 1000 ms timeout
[ 25.172078] sunxi-mmc sdc2: retry:busy timeout
[ 25.177047] sunxi-mmc sdc2: RETRY: REG_SAMP_DL: 0x000020a0
[ 25.183186] sunxi-mmc sdc2: retry:re-send cmd
[ 25.189004] sunxi-mmc sdc2: smc 0 p2 err, cmd 8, RD RE EBE !!
[ 25.195448] sunxi-mmc sdc2: retry:start
[ 25.200959] sunxi-mmc sdc2: send manual stop command failed
[ 25.726777] axp2202_usb_power: current limit not set: usb adapter type
[ 25.726777]
[ 26.206256] sunxi-mmc sdc2: wait r1 rdy 1000 ms timeout
[ 26.212082] sunxi-mmc sdc2: retry:busy timeout
[ 26.217050] sunxi-mmc sdc2: RETRY: REG_SAMP_DL: 0x000022a2
[ 26.223184] sunxi-mmc sdc2: retry:re-send cmd
[ 26.229002] sunxi-mmc sdc2: smc 0 p2 err, cmd 8, RD RE EBE !!
[ 26.235446] sunxi-mmc sdc2: retry:start
[ 26.240955] sunxi-mmc sdc2: send manual stop command failed
[ 27.246253] sunxi-mmc sdc2: wait r1 rdy 1000 ms timeout
[ 27.252078] sunxi-mmc sdc2: retry:busy timeout
[ 27.257046] sunxi-mmc sdc2: RETRY: REG_SAMP_DL: 0x000024a4
[ 27.263180] sunxi-mmc sdc2: retry:re-send cmd
[ 27.268998] sunxi-mmc sdc2: smc 0 p2 err, cmd 8, RD RE EBE !!
[ 27.275440] sunxi-mmc sdc2: retry:start
[ 27.280948] sunxi-mmc sdc2: send manual stop command failed
[ 28.286254] sunxi-mmc sdc2: wait r1 rdy 1000 ms timeout
[ 28.292079] sunxi-mmc sdc2: retry:busy timeout
[ 28.297048] sunxi-mmc sdc2: RETRY: REG_SAMP_DL: 0x000026a6
[ 28.303183] sunxi-mmc sdc2: retry:re-send cmd
[ 28.309001] sunxi-mmc sdc2: smc 0 p2 err, cmd 8, RD RE EBE !!
[ 28.315446] sunxi-mmc sdc2: retry:start
[ 28.320957] sunxi-mmc sdc2: send manual stop command failed
[ 29.326253] sunxi-mmc sdc2: wait r1 rdy 1000 ms timeout
[ 29.332077] sunxi-mmc sdc2: retry:busy timeout
[ 29.337046] sunxi-mmc sdc2: RETRY: REG_SAMP_DL: 0x000028a8
[ 29.343181] sunxi-mmc sdc2: retry:re-send cmd
[ 29.349000] sunxi-mmc sdc2: smc 0 p2 err, cmd 8, RD RE EBE !!
[ 29.355444] sunxi-mmc sdc2: retry:start
[ 29.360953] sunxi-mmc sdc2: send manual stop command failed
[ 30.366255] sunxi-mmc sdc2: wait r1 rdy 1000 ms timeout
[ 30.372080] sunxi-mmc sdc2: retry:busy timeout
[ 30.377049] sunxi-mmc sdc2: RETRY: REG_SAMP_DL: 0x00002aaa
[ 30.383187] sunxi-mmc sdc2: retry:re-send cmd
[ 30.389005] sunxi-mmc sdc2: smc 0 p2 err, cmd 8, RD RE EBE !!
[ 30.395451] sunxi-mmc sdc2: retry:start
[ 30.400960] sunxi-mmc sdc2: send manual stop command failed
[ 31.406253] sunxi-mmc sdc2: wait r1 rdy 1000 ms timeout
[ 31.412078] sunxi-mmc sdc2: retry:busy timeout
[ 31.417047] sunxi-mmc sdc2: RETRY: REG_SAMP_DL: 0x00002cac
[ 31.423182] sunxi-mmc sdc2: retry:re-send cmd
[ 31.429001] sunxi-mmc sdc2: smc 0 p2 err, cmd 8, RD RE EBE !!
[ 31.435446] sunxi-mmc sdc2: retry:start
[ 31.440956] sunxi-mmc sdc2: send manual stop command failed
[ 32.446253] sunxi-mmc sdc2: wait r1 rdy 1000 ms timeout
[ 32.452078] sunxi-mmc sdc2: retry:busy timeout
[ 32.457046] sunxi-mmc sdc2: RETRY: REG_SAMP_DL: 0x00002eae
[ 32.463182] sunxi-mmc sdc2: retry:re-send cmd
[ 32.469000] sunxi-mmc sdc2: smc 0 p2 err, cmd 8, RD RE EBE !!
[ 32.475444] sunxi-mmc sdc2: retry:start
[ 32.480953] sunxi-mmc sdc2: send manual stop command failed
[ 33.486253] sunxi-mmc sdc2: wait r1 rdy 1000 ms timeout
[ 33.492078] sunxi-mmc sdc2: retry:busy timeout
[ 33.497046] sunxi-mmc sdc2: RETRY: REG_SAMP_DL: 0x000030b0
[ 33.503181] sunxi-mmc sdc2: retry:re-send cmd
[ 33.508999] sunxi-mmc sdc2: smc 0 p2 err, cmd 8, RD RE EBE !!
[ 33.515443] sunxi-mmc sdc2: retry:start
[ 33.520953] sunxi-mmc sdc2: send manual stop command failed
[ 34.526254] sunxi-mmc sdc2: wait r1 rdy 1000 ms timeout
[ 34.532079] sunxi-mmc sdc2: retry:busy timeout
[ 34.537047] sunxi-mmc sdc2: RETRY: REG_SAMP_DL: 0x000032b2
[ 34.543182] sunxi-mmc sdc2: retry:re-send cmd
[ 34.549001] sunxi-mmc sdc2: smc 0 p2 err, cmd 8, RD RE EBE !!
[ 34.555444] sunxi-mmc sdc2: retry:start
[ 34.560954] sunxi-mmc sdc2: send manual stop command failed
[ 35.566253] sunxi-mmc sdc2: wait r1 rdy 1000 ms timeout
[ 35.572077] sunxi-mmc sdc2: retry:busy timeout
[ 35.577046] sunxi-mmc sdc2: RETRY: REG_SAMP_DL: 0x000034b4
[ 35.583179] sunxi-mmc sdc2: retry:re-send cmd
[ 35.588997] sunxi-mmc sdc2: smc 0 p2 err, cmd 8, RD RE EBE !!
[ 35.595439] sunxi-mmc sdc2: retry:start
[ 35.600948] sunxi-mmc sdc2: send manual stop command failed
[ 36.606253] sunxi-mmc sdc2: wait r1 rdy 1000 ms timeout
[ 36.612078] sunxi-mmc sdc2: retry:busy timeout
[ 36.617046] sunxi-mmc sdc2: RETRY: REG_SAMP_DL: 0x000036b6
[ 36.623182] sunxi-mmc sdc2: retry:re-send cmd
[ 36.629000] sunxi-mmc sdc2: smc 0 p2 err, cmd 8, RD RE EBE !!
[ 36.635443] sunxi-mmc sdc2: retry:start
[ 36.640953] sunxi-mmc sdc2: send manual stop command failed
[ 37.646253] sunxi-mmc sdc2: wait r1 rdy 1000 ms timeout
[ 37.652078] sunxi-mmc sdc2: retry:busy timeout
[ 37.657047] sunxi-mmc sdc2: RETRY: REG_SAMP_DL: 0x000038b8
[ 37.663182] sunxi-mmc sdc2: retry:re-send cmd
[ 37.669001] sunxi-mmc sdc2: smc 0 p2 err, cmd 8, RD RE EBE !!
[ 37.675444] sunxi-mmc sdc2: retry:start
[ 37.680954] sunxi-mmc sdc2: send manual stop command failed大佬们,我用xboot上面原有的gt911驱动,发现在触摸时没有拉低INT引脚(Tina上能驱动的是拉低的),猜测应该是启动时序问题。
这个是主线上的启动时序
gpio_set_cfg(rst, rstcfg);
gpio_set_pull(rst, GPIO_PULL_UP);
gpio_set_direction(rst, GPIO_DIRECTION_OUTPUT);
gpio_set_value(rst, 0);
mdelay(10);
gpio_set_pull(gpio, GPIO_PULL_UP);
gpio_set_direction(gpio, GPIO_DIRECTION_OUTPUT);
gpio_set_value(gpio, 1);
udelay(100);
gpio_set_value(rst, 1);
mdelay(5);触摸时不拉低
换成
gpio_set_cfg(rst, rstcfg);
gpio_set_direction(rst, GPIO_DIRECTION_OUTPUT);
udelay(1);
gpio_set_direction(gpio, GPIO_DIRECTION_OUTPUT);
udelay(1);
gpio_set_value(rst,0);
gpio_set_value(gpio,0);
mdelay(10);
gpio_set_value(gpio,1);
mdelay(1);
gpio_set_value(rst,1);
mdelay(5);
gpio_set_value(gpio, 0);
mdelay(50);
gpio_set_value(gpio, 1);
udelay(150);
gpio_set_cfg(gpio, gpiocfg);
gpio_set_pull(gpio, GPIO_PULL_UP);
gpio_set_direction(gpio, GPIO_DIRECTION_INPUT);就出现奇怪的时序
第一次尝试移植电容触摸,求大佬们帮忙看看啥问题
@xboot
大佬好,我这边是已经修改了get_boot_device()里面的启动介质,改成了BOOT_DEVICE_SPINAND,但还是没能启动
这是编译的结果
copy from `../output/xboot' [elf32-littlearm] to `../output/xboot.bin' [binary]
Make header information for brom booting
The bootloader head has been fixed, spl size is 32768 bytes.
Ecdsa256 public key:
03cfd18e4a4b40d6529448aa2df8bbb677128258b8fbfc5b9e492fbbba4e84832f
Ecdsa256 private key:
dc57b8a9e0e2b7f8b4c929bd8db2844e53f01f171bbcdf6e628908dbf2b2e6a9
Compressed 4595712 bytes into 2987194 bytes ==> 64.999591%这个是我在sys-copyself.c里面的自拷贝程序
void test()
{
sys_uart_putc('B');
sys_uart_putc('o');
sys_uart_putc('o');
sys_uart_putc('t');
sys_uart_putc(' ');
sys_uart_putc('t');
sys_uart_putc('o');
sys_uart_putc(' ');
sys_uart_putc('F');
sys_uart_putc('E');
sys_uart_putc('L');
sys_uart_putc(' ');
sys_uart_putc('m');
sys_uart_putc('o');
sys_uart_putc('d');
sys_uart_putc('e');
sys_uart_putc('\r');
sys_uart_putc('\n');
}
void sys_copyself(void)
{
int d = get_boot_device();
test();
if(d == BOOT_DEVICE_SPINOR)
{
struct zdesc_t * z = (struct zdesc_t *)__heap_start;
void * mem = (void *)__image_start;
void * tmp = (void *)z + sizeof(struct zdesc_t);
uint32_t size = __image_end - __image_start;
sys_mmu_init();
sys_spinor_init();
sys_spinor_read(65536, z, sizeof(struct zdesc_t));
sys_spinor_exit();
if((z->magic[0] == 'Z') && (z->magic[1] == 'B') && (z->magic[2] == 'L') && (z->magic[3] == '!'))
{
//if(sys_verify((char *)z->pubkey, (char *)z->sha256, (char *)z->signature))
{
uint32_t csize = (z->csize[0] << 24) | (z->csize[1] << 16) | (z->csize[2] << 8) | (z->csize[3] << 0);
uint32_t dsize = (z->dsize[0] << 24) | (z->dsize[1] << 16) | (z->dsize[2] << 8) | (z->dsize[3] << 0);
sys_spinor_init();
sys_spinor_read(65536 + sizeof(struct zdesc_t), tmp, csize);
sys_spinor_exit();
//if(sys_hash((char *)(&z->majoy), (sizeof(struct zdesc_t) - 100) + csize, (char *)z->sha256))
{
sys_decompress(tmp, csize, mem, dsize);
}
}
}
else
{
sys_spinor_init();
sys_spinor_read(0, mem, size);
sys_spinor_exit();
}
}
else if(d == BOOT_DEVICE_SPINAND)
{
struct zdesc_t * z = (struct zdesc_t *)__heap_start;
void * mem = (void *)__image_start;
void * tmp = (void *)z + sizeof(struct zdesc_t);
uint32_t size = __image_end - __image_start;
#if 0
sys_mmu_init();
sys_spinand_init();
sys_spinand_read(1048576 + 65536, z, sizeof(struct zdesc_t));
sys_spinand_exit();
if((z->magic[0] == 'Z') && (z->magic[1] == 'B') && (z->magic[2] == 'L') && (z->magic[3] == '!'))
{
//if(sys_verify((char *)z->pubkey, (char *)z->sha256, (char *)z->signature))
{
uint32_t csize = (z->csize[0] << 24) | (z->csize[1] << 16) | (z->csize[2] << 8) | (z->csize[3] << 0);
uint32_t dsize = (z->dsize[0] << 24) | (z->dsize[1] << 16) | (z->dsize[2] << 8) | (z->dsize[3] << 0);
sys_spinand_init();
sys_spinand_read(1048576 + 65536 + sizeof(struct zdesc_t), tmp, csize);
sys_spinand_exit();
//if(sys_hash((char *)(&z->majoy), (sizeof(struct zdesc_t) - 100) + csize, (char *)z->sha256))
{
sys_decompress(tmp, csize, mem, dsize);
}
}
}
else
#endif
{
sys_spinand_init();
sys_spinand_read(1048576, mem, size);
sys_spinand_exit();
}
}
else if(d == BOOT_DEVICE_SDCARD)
{
}
}我在开头加上了一个test打印程序,但是没看到有信息打印,uart使用的是0,我看了下寄存器和sys_uart_putc()的地址是一样的
用xfel在ram里面运行程序是没有问题的,也能检测到spinand
[ 0.161625]Found spi nand flash 'GD5F1GQ4xAYIG' with 128.000MB
[ 0.167369]Found partition:
[ 0.170153] 0x0000000000000000 ~ 0x0000000007ffffff 128.000MB - blk-spinand. 0
[ 0.177361] 0x0000000000000000 ~ 0x00000000005fffff 6.000MB - blk-spinand. 0.xboot
[ 0.185462] 0x0000000000600000 ~ 0x00000000007fffff 2.000MB - blk-spinand. 0.reserve
[ 0.193348] 0x0000000000800000 ~ 0x0000000007ffffff 120.000MB - blk-spinand. 0.private参考https://whycan.com/t_7323.html中xboot大佬在39楼以后的内容,了解到f133使用的是2kB一个page,
所以我使用sudo xfel spinand splwrite 2048 1048576 output/xboot.bin这条命令,烧写以后已经退出了FEL,但是没有启动LOG。
在sys-copyself.c里面的get_boot_device默认是return BOOT_DEVICE_SPINOR;改成return BOOT_DEVICE_SPINAND;
在sys_copyself的一部分改成
else if(d == BOOT_DEVICE_SPINAND)
{
struct zdesc_t * z = (struct zdesc_t *)__heap_start;
void * mem = (void *)__image_start;
void * tmp = (void *)z + sizeof(struct zdesc_t);
uint32_t size = __image_end - __image_start;
#if 0
sys_mmu_init();
sys_spinand_init();
sys_spinand_read(1048576 + 65536, z, sizeof(struct zdesc_t));
sys_spinand_exit();
if((z->magic[0] == 'Z') && (z->magic[1] == 'B') && (z->magic[2] == 'L') && (z->magic[3] == '!'))
{
//if(sys_verify((char *)z->pubkey, (char *)z->sha256, (char *)z->signature))
{
uint32_t csize = (z->csize[0] << 24) | (z->csize[1] << 16) | (z->csize[2] << 8) | (z->csize[3] << 0);
uint32_t dsize = (z->dsize[0] << 24) | (z->dsize[1] << 16) | (z->dsize[2] << 8) | (z->dsize[3] << 0);
sys_spinand_init();
sys_spinand_read(1048576 + 65536 + sizeof(struct zdesc_t), tmp, csize);
sys_spinand_exit();
//if(sys_hash((char *)(&z->majoy), (sizeof(struct zdesc_t) - 100) + csize, (char *)z->sha256))
{
sys_decompress(tmp, csize, mem, dsize);
}
}
}
else
#endif
{
sys_spinand_init();
sys_spinand_read(1048576, mem, size);
sys_spinand_exit();
}
}但是没能启动成功,求大佬支支招。
从mach-t113/driver里面复制ts-gt911.c到mach-f1c200s/driver里面,然后修改romdisk里面的设备树,我的板子的触摸INT是PE12(140),RST是PA0(0),
"ts-gt911@0": {
"i2c-bus": "i2c-f1c200s.0",
"slave-address": 20,
"interrupt-gpio": 140,
"interrupt-gpio-config": 6,
"reset-gpio": 0,
"reset-gpio-config": 1
},
添加完以后,烧录启动是GT911 Version: 911(0x1060)(0x00)[ 0.241688]Probe device 'ts-gt911.0' with ts-gt911,
但在window上还是没能使用触摸,求大佬们支支招:o
页次: 1