100s的tina系统,怎么增加一颗ids表未支持的32M norflash?
-
现在16M的norflash,没有问题,但是内存不够,需要用到32M,发现按照16M的方式将新芯片加入ids表格中,启动过程中会报错,不能识别。增加32M除了新增ids表外,还需要那些操作?
[0]HELLO! BOOT0 is starting! [2]boot0 commit : f847d4e4b27dd960a09d765e9ffc91791bab2ced [ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Initializing cgroup subsys cpuset [ 0.000000] Initializing cgroup subsys cpuacct [ 0.000000] Linux version 3.10.65 (jkangli@server-211) (gcc version 6.4.1 (OpenWrt/Linaro GCC 6.4-2017.11 2017-11) ) #841 Wed Aug 30 02:10:22 UTC 2023 [ 0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177 [ 0.000000] CPU: VIVT data cache, VIVT instruction cache [ 0.000000] Machine: Allwinner A1X (Device Tree), model: sun3iw1p1 [ 0.000000] bootconsole [earlycon0] enabled [ 0.000000] cma: CMA: reserved 8 MiB at 81800000 [ 0.000000] Memory policy: ECC disabled, Data cache writeback [ 0.000000] On node 0 totalpages: 8192 [ 0.000000] free_area_init_node: node 0, pgdat c05528ec, node_mem_map c057f000 [ 0.000000] Normal zone: 64 pages used for memmap [ 0.000000] Normal zone: 0 pages reserved [ 0.000000] Normal zone: 8192 pages, LIFO batch:0 [ 0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768 [ 0.000000] pcpu-alloc: [0] 0 [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 8128 [ 0.000000] Kernel command line: enforcing=1 earlyprintk=sunxi-uart,0x01c25400 initcall_debug=0 console=ttyS1,115200 loglevel=8 root=/dev/mtdblock4 init=/pseudo_init rdinit=/rdinit partitions=boot@mtdblock1:bootlogo@mtdblock2:env@mtdblock3:rootfs@mtdblock4:rootfs_data@mtdblock5:misc@mtdblock6:private@mtdblock7:UDISK@mtdblock8 cma=8M fb_base=0x81e00000 androidboot.serialno=<NULL> boot_type=3 [ 0.000000] PID hash table entries: 128 (order: -3, 512 bytes) [ 0.000000] Dentry cache hash table entries: 4096 (order: 2, 16384 bytes) [ 0.000000] Inode-cache hash table entries: 2048 (order: 1, 8192 bytes) [ 0.000000] Memory: 32MB = 32MB total [ 0.000000] Memory: 18480k/18480k available, 14288k reserved, 0K highmem [ 0.000000] Virtual kernel memory layout: [ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB) [ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB) [ 0.000000] vmalloc : 0xc2800000 - 0xff000000 ( 968 MB) [ 0.000000] lowmem : 0xc0000000 - 0xc2000000 ( 32 MB) [ 0.000000] modules : 0xbf000000 - 0xc0000000 ( 16 MB) [ 0.000000] .text : 0xc0008000 - 0xc0444e4c (4340 kB) [ 0.000000] .init : 0xc0445000 - 0xc0463e18 ( 124 kB) [ 0.000000] .data : 0xc0464000 - 0xc0553208 ( 957 kB) [ 0.000000] .bss : 0xc0553208 - 0xc057e5c0 ( 173 kB) [ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 [ 0.000000] NR_IRQS:256 [ 0.000000] of_sunxi_clocks_init : sunxi_clk_base[0xf1c20000] [ 0.000000] pll_cpu-set_default_rate=552000000 success! [ 0.000000] pll_video-set_default_rate=297000000 success! [ 0.000000] pll_ddr-set_default_rate=312000000 success! [ 0.000000] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956ms [ 0.000365] Calibrating delay loop... 275.25 BogoMIPS (lpj=1376256) [ 0.085341] pid_max: default: 32768 minimum: 301 [ 0.090439] Mount-cache hash table entries: 512 [ 0.096364] CPU: Testing write buffer coherency: ok [ 0.102053] Setting up static identity map for 0xc0347338 - 0xc0347390 [ 0.111878] devtmpfs: initialized [ 0.117263] pinctrl core: initialized pinctrl subsystem [ 0.124772] NET: Registered protocol family 16 [ 0.132517] DMA: preallocated 256 KiB pool for atomic coherent allocations [ 0.144916] sun3iw1p1-pinctrl pio: initialized sunXi PIO driver [ 0.167432] bio: create slab <bio-0> at 0 [ 0.172781] pwm module init! [ 0.177485] SCSI subsystem initialized [ 0.181603] usbcore: registered new interface driver usbfs [ 0.187383] usbcore: registered new interface driver hub [ 0.193160] usbcore: registered new device driver usb [ 0.201247] Advanced Linux Sound Architecture Driver Initialized. [ 0.209122] cfg80211: Calling CRDA to update world regulatory domain [ 0.216469] Switching to clocksource sun3i high-res couter [ 0.224858] get det_vbus is fail, 84 [ 0.228535] of_get_named_gpio_flags: can't parse gpios property [ 0.236141] NET: Registered protocol family 2 [ 0.242745] TCP established hash table entries: 512 (order: 0, 4096 bytes) [ 0.249727] TCP bind hash table entries: 512 (order: -1, 2048 bytes) [ 0.256266] TCP: Hash tables configured (established 512 bind 512) [ 0.262703] TCP: reno registered [ 0.266041] UDP hash table entries: 256 (order: 0, 4096 bytes) [ 0.271971] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) [ 0.278997] NET: Registered protocol family 1 [ 0.296922] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 0.303535] jffs2: version 2.2. (NAND) (SUMMARY) ? 2001-2006 Red Hat, Inc. [ 0.311532] msgmni has been set to 52 [ 0.318581] io scheduler noop registered [ 0.322801] io scheduler cfq registered (default) [ 0.328219] [pm]aw_pm_init! [ 0.331461] [pm]valid [ 0.333926] [pm]valid [ 0.336848] [DISP]disp_module_init [ 0.341998] of_get_named_gpio_flags: can't parse gpios property [ 0.348790] of_get_named_gpio_flags: can't parse gpios property [ 0.355226] of_get_named_gpio_flags: can't parse gpios property [ 0.361588] of_get_named_gpio_flags exited with status 130 [ 0.367600] of_get_named_gpio_flags exited with status 96 [ 0.373524] of_get_named_gpio_flags exited with status 108 [ 0.379449] of_get_named_gpio_flags exited with status 131 [ 0.385439] of_get_named_gpio_flags: can't parse gpios property [ 0.391768] of_get_named_gpio_flags: can't parse gpios property [ 0.398177] of_get_named_gpio_flags: can't parse gpios property [ 0.462171] pll_freq=297000000HZ, lcd_dclk_freq=14000000HZ, clk_div=21 [ 0.469527] num_screens=1 [ 0.472333] screen_id=0 [ 0.474865] para->mclk[MOD_CLK_LCD1CH0]=0xc0c0c340 [ 0.479724] para->mclk[MOD_CLK_LCD1CH1]=0xc0c0c440 [ 0.484630] disp tv init [ 0.487251] tcon_clk=0xc0c0c340, tcon_clk_parent=0x0 [ 0.492328] tcon_clk=0xc0c0c340, tcon_clk_parent=0xc0c04400 [ 0.497971] tve_clk=0xc0c0c440, tve_clk_parent=0xc0c04400 [ 0.503469] disp al tv init [ 0.509223] fetch script datadisp.screen2_output_type fail [ 0.515231] fetch script datadisp.screen2_output_mode fail [ 0.523623] fetch script datadisp.fb2_format fail [ 0.528726] fetch script datadisp.fb2_scaler_mode_enable fail [ 0.534941] fetch script datadisp.fb2_width fail [ 0.539957] fetch script datadisp.fb2_height fail [ 0.551704] [DISP] Fb_map_kernel_logo,line:561: this is not a bmp picture [ 0.560521] [DISP]disp_module_init finish [ 0.578967] uart0: ttyS0 at MMIO 0x1c25000 (irq = 104) is a SUNXI [ 0.586396] uart1: ttyS1 at MMIO 0x1c25400 (irq = 105) is a SUNXI [ 0.592720] sw_console_setup()1324 - console setup baud 115200 parity n bits 8, flow n [ 0.600729] console [ttyS1] enabled, bootconsole disabled [ 0.600729] console [ttyS1] enabled, bootconsole disabled [ 0.613516] uart2: ttyS2 at MMIO 0x1c25800 (irq = 106) is a SUNXI [ 0.625126] spi spi0: master is unqueued, this is deprecated [ 0.632830] m25p80 spi0.0: found py25q256hb, expected m25p64 [ 0.639254] m25p80 spi0.0: py25q256hb (32768 Kbytes) - fast mode [ 0.649886] sunxi_mbr->PartCount = 216375170 [ 0.654724] sunxipart: failed to parse sunxi_mbr)! [ 0.660096] m25p80: probe of spi0.0 failed with error -22 [ 0.666435] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 0.674239] usbcore: registered new interface driver usb-storage [ 0.681905] /soc/usbc0@0: could not find phandle [ 0.687160] of_get_named_gpio_flags: can't parse gpios property [ 0.693783] get regulator_io is no nocare [ 0.698373] sunxi_hcd_host0 1c13000.otghci0-controller: sunxi_hcd host driver [ 0.706387] sunxi_hcd_host0 1c13000.otghci0-controller: new USB bus registered, assigned bus number 1 [ 0.718125] hub 1-0:1.0: USB hub found [ 0.722497] hub 1-0:1.0: 1 port detected [ 0.727333] wrn: hcd is not enable, need not stop hcd [ 0.757185] rtc-pcf85063 2-0051: rtc core: registered pcf85063 as rtc0 [ 0.766572] i2c /dev entries driver [ 0.771024] IR NEC protocol handler initialized [ 0.776542] pdev->dev.of_node name :cir [ 0.781133] Registered IR keymap rc-nec-terratec-cinergy-xs [ 0.788207] input: sunxi_ir_recv as /devices/soc/1c22c00.cir/rc/rc0/input0 [ 0.796474] rc0: sunxi_ir_recv as /devices/soc/1c22c00.cir/rc/rc0 [ 0.808373] ipip: IPv4 over IPv4 tunneling driver [ 0.814893] gre: GRE over IPv4 demultiplexor driver [ 0.820324] ip_gre: GRE over IPv4 tunneling driver [ 0.828196] TCP: cubic registered [ 0.831892] Initializing XFRM netlink socket [ 0.836792] NET: Registered protocol family 17 [ 0.841839] NET: Registered protocol family 15 [ 0.847293] VFP support v0.3: not present [ 0.853071] [LCD]lcd_module_init [ 0.860349] enhance_en=1 [ 0.863342] matrixresult:(0x0, 0x3c4, 0x0, 0x0) [ 0.868421] ERROR,DE_BE_Layer_Set_Screen_Win:174 w,h=[0,0] [ 0.874611] ERROR,DE_BE_Layer_Set_Screen_Win:174 w,h=[0,0] [ 0.880713] ERROR,DE_BE_Layer_Set_Screen_Win:174 w,h=[0,0] [ 0.886929] pll_freq=297000000HZ, lcd_dclk_freq=14000000HZ, clk_div=21 [ 0.894254] clk_div=21 [ 0.897103] [drivers/video/sunxi/disp/lcd/panels/st7796p_320x480.c][LCD_power_on]299 [ 1.122138] [LCD]open, step 0 finish [ 1.162147] [drivers/video/sunxi/disp/lcd/panels/st7796p_320x480.c][LCD_panel_init]361 [ 1.171022] [drivers/video/sunxi/disp/lcd/panels/st7796p_320x480.c][lcd_init_data]103 [ 1.542664] [LCD]open, step 1 finish [ 1.602147] [LCD]open, step 2 finish [ 1.712569] [LCD]open, step 3 finish [ 1.722206] [LCD]lcd_module_init finish [ 1.727000] usb_serial_number:20080411 [ 1.731752] file system registered [ 1.738365] android_usb gadget: Mass Storage Function, version: 2009/09/11 [ 1.746136] android_usb gadget: Number of LUNs=3 [ 1.751311] lun0: LUN: removable file: (no medium) [ 1.756781] lun1: LUN: removable file: (no medium) [ 1.762235] lun2: LUN: removable file: (no medium) [ 1.768559] android_usb gadget: android_usb ready [ 1.775488] rtc-pcf85063 2-0051: setting system clock to 2000-01-01 18:18:27 UTC (946750707) [ 1.785178] ALSA device list: [ 1.788486] No soundcards found. [ 1.793260] VFS: Cannot open root device "mtdblock4" or unknown-block(0,0): error -6 [ 1.801918] Please append a correct "root=" boot option; here are the available partitions: [ 1.811289] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
-
你 改 了 哪 些 呢?
-
@whycan 在id表中加入芯片的配置项py25q256hb
-
@wyljkl 在 100s的tina系统,怎么增加一颗ids表未支持的32M norflash? 中说:
[ 0.632830] m25p80 spi0.0: found py25q256hb, expected m25p64
[ 0.639254] m25p80 spi0.0: py25q256hb (32768 Kbytes) - fast mode
[ 0.649886] sunxi_mbr->PartCount = 216375170
[ 0.654724] sunxipart: failed to parse sunxi_mbr)!
[ 0.660096] m25p80: probe of spi0.0 failed with error -22跟踪一下这个错误
22 EINVAL Invalid argument
-
@whycan 报错在这个文件tina\lichee\linux-3.10\drivers\mtd\sunxipart.c:
static int sunxipart_parse(struct mtd_info *master, struct mtd_partition **pparts, struct mtd_part_parser_data *data) { int i, ret, nrparts; size_t bytes_read; struct sunxi_mbr *sunxi_mbr; struct mtd_partition *parts; sunxi_mbr = kzalloc(MBR_SIZE, GFP_KERNEL); if (sunxi_mbr == NULL) { pr_err("failed to alloc sunxi_mbr\n"); return -ENOMEM; } ret = mtd_read(master, MBR_OFFSET, MBR_SIZE, &bytes_read, (uint8_t *)sunxi_mbr); if ((ret < 0)) { pr_err("failed to read sunxi_mbr!\n"); kfree(sunxi_mbr); return -EIO; } printk("sunxi_mbr->PartCount = %d\n",sunxi_mbr->PartCount); if ((sunxi_mbr->PartCount == 0) || (sunxi_mbr->PartCount > MBR_MAX_PART_COUNT)) { pr_err("failed to parse sunxi_mbr)!\n"); ==》报错在这个位置,他的值确实是超过了MBR_MAX_PART_COUNT ,上面log有打印出这个值,但是我有点不明白这个原因是什么? kfree(sunxi_mbr); return -EINVAL; } 。。。 }
-
问题已经解决了,感谢
-
-
@wyljkl 请教t113的tina2.1 sdk哪里可以下?
-
@memory 需要打开4字节的地址模式才行,因为超过了16M
-
@yelong98 全志客户服务平台,你开案了就能在那里面直接下载,没有的话你得找代理了
Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号