1、第一次烧录成功了,证明你的flash驱动应该是支持这颗nand的,所以可以烧进去
2、但烧录进去不代表你flash驱动中的ID配置一定是正确的,有可能你拿到的flash驱动中对这颗物料的参数配置(坏块标记位、oob区域划分、ecc校验能力等)配置不正确,导致你第一次烧录的时候,在这颗flash上误标记了bad block,故后续烧录或者启动会提示很多的“bad block......”
3、建议找一个常用型号的flash,先替换上去,看下是否能正常启动,可以试一下这款(MX35LF1GE4AB),这款在很早之前的驱动已经是支持的了

Posts made by DAIZEBIN
-
Reply: F1C200S TINA3.5 使用spinand
-
Reply: Tina系统安装Github开源软件
@whycanservice
所以目前来看应该只有两个办法了
1、PC交叉编译,install到rootfs中
2、PC交叉编译一个能用的gcc,install到rootfs中,再编译所需要的应用,再install?
感觉第二个方法可以玩一下试试 -
Tina系统安装Github开源软件
各位大佬,想请教个问题,既然Tina也是一个Linux系统,
那么理论上是应该可以像Ubuntu这些发行版的系统一样,自行安装Github上面的开源软件比如 vim、RipGrep、FZF、HTop、Ranger,具体有何教程吗?
其中有些是可以直接下载源码包,直接编译的,但是我不想在服务器交叉编译,直接在Tina内部编译不知道行不行,
试了下,发现手头的几个板子应该都是内部默认不含GCC的 -
Reply: R328-S2使用W25N02问题
@qinlinbin 需要有R328的SDK权限,在对应的SDK下载页面下拉,会看到一个补丁名称为“R328方案添加spinand开源移植库”,按照里面的README操作即可
-
Reply: 芒果派t113s3板子的tina,ubuntu用哪个版本比较好?22.04似乎不少问题
@newcastle 有需要的话,也可以使用ubuntu14,实测拿到的SDK,ubuntu14基本都可以正常编译过
-
Reply: 请问spi-nand的型号是什么?
@sorive 目前使用ubi方案的芯片(如R329、D1、V853、T113等),支持的spinand型号可以在以下路径查看:lichee/brandy-2.0/u-boot-2018/drivers/mtd/awnand/spinand/physic/id.c,需要适配新物料,可直接在改路径下添加物料配置信息即可。针对一些非ubi方案的芯片,如R328、R11等,该部分驱动代码不开源,需要自行在SDK下载界面下载对应开源物料补丁后才可适配新物料
-
Reply: R328-S2使用W25N02问题
@qinlinbin 另外,目前在R328平台,释放了开源物料补丁,若是有R328 SDK权限的话,是可以在SDK下载页面获取到该补丁的
-
Reply: 多次断电重启后,系统无法启动了
@whycan 重新烧录固件也还是一样的问题吗?
要是还是一样的问题的话,建议使用TigerDump把分区dump出来看看,目前初步怀疑,有可能是掉电导致的flash误操作 -
Reply: t507 linux根文件系统无法挂载
@abc3240574 没记错的话,rootfs应该是会有备份的
而且该问题,建议重新换一个新的nand上去,看现象是否一样 -
Reply: 全志 D1H 驱动spi oled失败
@fanfan 感觉是SPI通讯超时了,建议先检查一下硬件是否OK的,之后再检查一下引脚配置(数据线初始电压、时钟等)
-
Reply: v853 mboot编译失败
@cruise33 这个是你服务器没安装好需要的包
试一下执行 sudo apt-get install bison,之后在make -
Reply: 编译T113的固件时,pack失败,显示u-boot.fex 无法打开
@rtqqq 感觉是你的SDK不完整,是直接git pull芒果的SDK还是直接百度网盘下载的呢?
-
Reply: 安装USB烧录驱动失败
@lingzijian
试一下直接管理员身份运行安装这个驱动,
全志USB烧录驱动20201229.zip再不行的话下载全志的APST量产中心,里面也有一个USB驱动,把那个装上去试一下
-
Reply: T113-S3入门资料汇总(避坑指南)一
@karlno 在 T113-S3入门资料汇总(避坑指南)一 中说:
还是做一些开源的物联网应用,远程浇个花,统计下
补充一下,自己更换spinand进行启动的时候,可以参考路径
~/Tina-Linux/lichee/brandy-2.0/u-boot-2018/drivers/mtd/awnand/spinand/physic/id.c
下面的物料id表自行焊接spinand上去
我是用的是Winband的W25N01GVZEIG
对应以下id:
同时需要修改两个部分内容
1、env.cfgdiff --git a/device/config/chips/t113/configs/mq_r/env.cfg b/device/config/chips/t113/configs/mq_r/env.cfg index a554ac2..3e18190 100755 --- a/device/config/chips/t113/configs/mq_r/env.cfg +++ b/device/config/chips/t113/configs/mq_r/env.cfg @@ -38,4 +38,4 @@ bootdelay=1 #default bootcmd, will change at runtime according to key press #default nand boot #bootcmd=run setargs_nand boot_dsp0 boot_normal -bootcmd=run setargs_mmc boot_normal +bootcmd=run setargs_nand_ubi boot_normal
2、sys_config.fex
diff --git a/device/config/chips/t113/configs/mq_r/sys_config.fex b/device/config/chips/t113/configs/mq_r/sys_config.fex index 4bc568c..aad0548 100755 --- a/device/config/chips/t113/configs/mq_r/sys_config.fex +++ b/device/config/chips/t113/configs/mq_r/sys_config.fex @@ -33,7 +33,7 @@ debug_mode = 1 ;storage_type = boot medium, 0-nand, 1-sd, 2-emmc, 3-nor, 4-emmc3, 5-spinand -1(defualt)auto scan ;---------------------------------------------------------------------------------- [target] -storage_type = 1 +storage_type = 5 burn_key = 0 ;---------------------------------------------------------------------------------- ;spinor configuration
之后直接使用PhoenixSuit进行烧录既可
附上固件:
tina_t113-mq_r_uart0.img该固件使用的uart引脚号为:
对应板子上的:
-
Reply: YuzuKi X 100ask V851s 上手体验, 编译和烧录系统!
@mysteryli 烧录软件PhoenixSuit建议更新到最新的,但版本如果不是太低的话,也是不会影响正常使用的,驱动要下载全志对应的usb串口驱动,全志官网可以下载
-
Reply: tina 系统怎样裁剪
@chdeng1 可以参考D1 SDK下面的
d1_nezha_min-tina
方案进行裁剪,逐步添加上自己需要用到的软件包既可,主要还是针对于uboot部分和rootfs部分不需要的软件包进行裁剪 -
Reply: Tina f1c100s SPI NOR模式运行到Starting kernel ... 停止
@qq354813374 你这个修改就是为了使用uart0作为串口输出吗?
-
Reply: 求助,Tina使能一个包后,文件系统没有包含该包的程序
@kw___ 看一下在使能之后,make后在out对应目录是否生成了对应的应用程序或lib
-
Reply: v851s tf卡启动失败
@yuzukitsuru 所以这个的问题本质其实还是uboot阶段没有配置mmc,导致kernel端没有mmc,就进不去kernel了?
-
Reply: 环境变量中关于ubifs、nand_root的疑问
@yuzukitsuru 在 环境变量中关于ubifs、nand_root的疑问 中说:
第一个使用ubifs作为fs,第二个使用sqfs作为fs,ubi提供操作接口,一般都用第二种
所以第一种的前提是必须构建好ubifs才可以成功启动?
以及我若是需要使用第二种方式来使用ubi,两者在配置上还存在哪一部分的差异呢
-
环境变量中关于ubifs、nand_root的疑问
使用ubi,使用spinand启动的时候
发现《D1-H_Linux_SPI-NAND_开发指南.pdf》中关于env.cfg的文件部分配置介绍如下:
但实际在在论坛中也有发现,对于env.cfg文件,也有使用如下配置的例子
nand_root=ubi0_5 rootfstype=squashfs
这两者有何不一样吗?
-
Reply: V853 替换开机启动LOGO
@cruise33 要是你在uboot阶段可以成功显示log的话,到kernel阶段就无了,怀疑是kernel阶段对显示有一定的操作,可以检查一下这个
-
Reply: 【分析笔记】Linux I2C-Tools 使用踩坑笔记
按照你的说法,如果使用i2cdetect 工具,不指定参数的话,使用的是以自动模式检测,自动模式在sht41体现为读模式,所以检测不出来?
-
全志 u-boot.fex 文件的作用
通过实际查阅资料和验证发现:
全志的u-boot.fex
文件为uboot编译打包之后的产物,但是关于该部分文件的具体编译、打包过程,网上的说法都不太一致,且其打包,编译脚本
,根据网上的说法,也并不能在提及到的路径下找到。针对新的SDK,这部分是否有了一定程度上的修改呢?
附上网上关于这部分的网址链接:
u-boot.fex介绍1
u-boot.fex介绍2 -
Reply: tina sdk 下ubuntu分配根文件系统分区大于4G时,启动无法挂载成功
@duanzhh 在 tina sdk 下ubuntu分配根文件系统分区大于4G时,启动无法挂载成功 中说:
调整分区的指令
这个额外的“调整分区的指令”指的是? -
V853 替换开机启动LOGO
概述
主要描述了 V853 如何替换开机启动LOGO
环境
软件:V853 Tina 5.0 SDK
硬件:全志V853开发板
具体步骤
首先我们看一下未替换的启动log界面如下:
需要准备一张大小合适的
bmp
图像文件(大小为2MB左右),也可以考虑使用小一点的图片。我准备的是一张
1200 * 800
尺寸大小的bmp图片,使用 Windows 自带的画图工具可以看到分辨率为
1200 * 800
打开放置启动阶段logo图片的路径如下:
~/openwrt/target/v853/v853-common/boot-resource/boot-resource
把新的logo文件重命名为
bootlogo.bmp
,同时替换掉该路径下的bootlogo.bmp
文件即可。. └── bootlogo.bmp
重新打包,但是发现打包失败,报如下
error
:mbr size = 4096 mbr magic softw411 disk name=boot-resource ERROR: dl file boot-resource.fex size too large ERROR: filename = boot-resource.fex ERROR: dl_file_size = 6158 sector ERROR: part_size = 6016 sector update_for_part_info -1 ERROR: update mbr file fail ERROR: update_mbr failed
这个是很常见的一个错误,因为我们的bmp文件打包之后,其大小已经超过了我们对该分区(boot-resource)所分配的空间大小,只需要扩大该分配空间即可。
修改文件
sys_partition.fex
,具体路径如下~/device/config/chips/v853/configs/vision/linux-4.9/sys_partition.fex
修改如下:
--- a/configs/vision/linux-4.9/sys_partition.fex +++ b/configs/vision/linux-4.9/sys_partition.fex @@ -35,7 +35,7 @@ size = 4096 [partition] name = boot-resource - size = 6016 + size = 6286 downloadfile = "boot-resource.fex" user_type = 0x8000
重新打包,可以发现已经打包成功
Dragon execute image.cfg SUCCESS ! ----------image is at---------- 36M ~/out/v853/vision/openwrt/v853_linux_vision_uart0.img pack finish
烧录~ 开机~
没有冒烟,收工~
-
Reply: D1切换SD卡启动,挂载SD卡剩余容量
我尝试直接使用mount挂载设备,是可以成功的,但是不知道使用overlayfs是咋样的一个操作步骤
挂载指令如下:mkfs.vfat /dev/mmcblk0p8 mount /dev/mmcblk0p8 /mnt/UDISK
挂载效果:
root@TinaLinux:/mnt# df -h Filesystem Size Used Available Use% Mounted on /dev/root 15.8M 15.8M 0 100% / devtmpfs 492.8M 0 492.8M 0% /dev tmpfs 498.9M 32.0K 498.9M 0% /tmp /dev/mmcblk0p1 8.0M 2.9M 5.0M 37% /mnt/SDCARD /dev/mmcblk0p8 14.7G 8.0K 14.7G 0% /mnt/UDISK
-
D1切换SD卡启动,挂载SD卡剩余容量
D1-h哪吒开发板,切换为SD卡启动后,其内部的分区和使用spi nand启动的一致,如果我想把sd卡剩余的空间挂载在UDISK分区上,应该如何操作呢?
-
Reply: 因为喜欢用ADB,因为不喜欢插拔TF卡,所以D1直接用PhoenixSuit烧录TF(SDNAND)
这里的“try card 2”是尝试启动什么介质呢?sd卡?
-
Reply: Flash初始化过程
@yuzukitsuru 好的,那如果是这么理解的话,boot0阶段的Flash初始化还有何作用吗?感觉作用和uboot阶段的重复了
-
Reply: Flash初始化过程
@yuzukitsuru 也就是说在boot0阶段,虽然也是存在flash的初始化的,但是地址在此时还是处于sram的,后面的uboot因为运行在dram中,所以后续还需要进一步把这个地址传入dram中,再一次对flash进行初始化?
-
Flash初始化过程
用在D1的SKD2.0平台上编译出来的系统,在启动log中,uboot阶段会出现“init flash”,如下:
U-Boot 2018.07 (Sep 03 2022 - 16:33:10 +0800) Allwinner Technology [00.273]DRAM: 1 GiB [00.275]Relocation Offset is: 3deea000 [00.280]secure enable bit: 0 can't support chip type 20480 [00.285]CPU=1008 MHz,PLL6=600 Mhz,AHB=200 Mhz, APB1=100Mhz MBus=300Mhz sunxi flash map init SPI ALL: ready [00.295]flash init start [00.298]workmode = 0,storage type = 0 [00.305]sunxi-spinand-phy: spinand sample_mode:2 sample_delay:3
flash不是应该在boot0阶段就已经被初始化了吗?
-
Reply: 自制的V853板子,串口无法输入,求帮助。
@negro 能否看一下你在dts里面添加的内容,看启动log,好像是存在一些其他外设初始化,另外就是能否提供一下你烧录的这份固件,对比一下
-
Reply: 交叉编译后的文件通过ADB PUSH到开发板失败
@haaland 指令是没错的,使用exit退出adb shell,后在执行adb push xxx xxx
-
Reply: helloworld编译出错
可以试一下把你的Makefile文件和Kconfig文件一起上传上来,官方的例程没有问题的,很大概率是你tab和空格的问题
-
Reply: 新人D1-h hello-word 运行不起来求教
@bjxx159 感觉得重新指定hello world的交叉编译工具链试试,前面没有看到编译的实际过程,不好下判断
-
Reply: 麻雀d1s编译修复adb和phoenixsuit连接问题
在SDK中修改了对应的内容后,也还是会报该错误,
错误log如下:root@TinaLinux:/# [ 29.232076] sunxi_vbus_det_work()3356 WARN: get power supply failed [ 29.250472] android_work: sent uevent USB_STATE=DISCONNECTED [ 29.272172] sunxi_set_cur_vol_work()397 WARN: get power supply failed [ 29.294535] android_work: sent uevent USB_STATE=CONNECTED [ 29.312027] configfs-gadget gadget: high-speed config #1: c [ 29.318466] android_work: sent uevent USB_STATE=CONFIGURED [ 29.324950] regulator-dummy: Underflow of regulator enable count [ 29.332456] read descriptors [ 29.335711] read strings [ 29.342970] android_work: sent uevent USB_STATE=DISCONNECTED [ 29.519967] sunxi_set_cur_vol_work()397 WARN: get power supply failed [ 29.566921] android_work: sent uevent USB_STATE=CONNECTED [ 29.583202] configfs-gadget gadget: high-speed config #1: c [ 29.589905] android_work: sent uevent USB_STATE=CONFIGURED [ 33.012012] sunxi_vbus_det_work()3356 WARN: get power supply failed [ 33.019804] android_work: sent uevent USB_STATE=DISCONNECTED [ 33.026274] sunxi_set_cur_vol_work()397 WARN: get power supply failed [ 33.070338] android_work: sent uevent USB_STATE=CONNECTED [ 33.086732] configfs-gadget gadget: high-speed config #1: c [ 33.093222] regulator-dummy: Underflow of regulator enable count [ 33.100748] android_work: sent uevent USB_STATE=DISCONNECTED [ 33.107276] read descriptors [ 33.110499] read strings
修改之后的SDK文件如下:
void sunxi_set_cur_vol_work(struct work_struct *work) { #if !defined(SUNXI_USB_FPGA) && defined(CONFIG_POWER_SUPPLY) struct power_supply *psy = NULL; union power_supply_propval temp; if (of_find_property(g_udc_pdev->dev.of_node, "det_vbus_supply", NULL)) psy = devm_power_supply_get_by_phandle(&g_udc_pdev->dev, "det_vbus_supply"); if (!psy || IS_ERR(psy)) { DMSG_PANIC("%s()%d WARN: get power supply failed\n", __func__, __LINE__); } else { temp.intval = 2500; power_supply_set_property(psy, POWER_SUPPLY_PROP_INPUT_CURRENT_LIMIT, &temp); } #endif }