LinuxDev 板


LINE

Flash 问题 想请问关於 embedded 的 flash 部分,第一次接触有很多不熟悉 1. 不知道各位关於嵌入式系统上的 flash 都会怎麽去做切割? 目前我考虑的方式是切成 boot/kernel/foot file system/设定档 2. 对於一个系统如果是需要去升级里面的应用程式的 会怎麽去切割或者是更新比较好呢? 原本想说把设定档的部分不要update, 而整个rootfs重新update,因此才会把设定档另外切一块出来 3. 版号机制 我看很多都会去防止使用者去更新成以前的版本 不知道说这个要怎麽做到呢? 就是在更新rootfs之前就要去判断版号了 然後又不被一般使用者容易窜改那个机制的版号 4. rootfs 是不是也应该要开机的时候复制到ram呢? 因为看板子预设的kernel是有做这样的动作 5. 多出来的 flash 空间可以做什麽应用或是改善系统效能吗? 请多多给意见供学习,谢谢 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 223.139.96.183
1F:推 heoris:请用MTD 04/20 17:31
2F:推 askacis:一般来说roofs不会复制到Ram上,但kernel有开initramfs的话 04/21 21:14
3F:→ askacis:则rootfs会被压缩然後包进去zImage里,所以自然kernel自解 04/21 21:15
4F:→ askacis:压缩的时候也会把rootfs解到Ram上,一般都是你的rootfs很小 04/21 21:16
5F:→ askacis:的时候比较有用,不然很大的rootfs不仅解压缩慢,你的RAM搞 04/21 21:16
6F:→ askacis:不好也没有多空间可以摆~~ 04/21 21:17
7F:→ askacis:至於FW版号的问题那是大哉问,大家的作法都不同,原po可以试 04/21 21:18
8F:→ askacis:试在你的FW前面再带一个结构来描述,结构里面可以放版号, 04/21 21:19
9F:→ askacis:供认证的签名,是否允强迫update之类的种种资讯... 04/21 21:20
10F:→ paulyanzi:kernel是不是一定要解到ram呢 04/22 00:32
11F:→ paulyanzi:如果把rootfs只解到nand flash不知道flash会不会很容挂? 04/22 00:33
12F:→ paulyanzi:印象中flash不是读写次数是有寿命的... 04/22 00:33
13F:推 askacis:所以会有特定的file system 诸如yaffs2,jffs2出现,他们 04/22 00:46
14F:→ askacis:做wear leveling,来延长使用寿命;我建议原PO参考相关书籍 04/22 00:47
15F:→ askacis:个人推荐这本 http://0rz.tw/pXmus 04/22 00:49
16F:推 askacis:kernel可以直接跑在nor flash上,可以google XIP相关资料 04/22 01:02
17F:→ askacis:在linux base的平台上没用过XD,因为ram都还蛮大的;到是一 04/22 01:03
18F:→ askacis:些ram只有4K,8K的arm7 MCU,code不跑在flash上是不行的... 04/22 01:04
19F:推 askacis:其原理也很简单,就是利用linking script把RO摆在flash, 04/22 01:08
20F:→ askacis:RW,zi等不同的段放在ram上就可以了... 04/22 01:09
21F:推 yuskeb:之前有遇到app crash的bugs会导致系统重开机 04/24 00:42
22F:→ yuskeb:多出来的flash我就拿来摆app的coredump files 04/24 00:43
23F:→ yuskeb:再抓回来喂给GDB来除错 多的flash用来蒐集log等资讯来debug 04/24 00:45
24F:→ paulyanzi:是把多的flash多切一个挂载点? 04/26 01:28
25F:→ paulyanzi:要怎麽让会出错的app产生coredump files呢 04/26 01:28
26F:→ paulyanzi:板子上好像没有GDB可以用 04/26 01:29
27F:→ paulyanzi:看起来使用jffs2撑个三年应该没问题吧 04/26 01:30
28F:推 yuskeb:1.嗯嗯 假设flash切成 u-boot/kernel/rootfs/config/extra 04/27 01:48
29F:推 yuskeb:用"cat /proc/mtd"察看假设extra(多的flash名字)对应到mtd4 04/27 01:55
30F:→ yuskeb:如果我想把在挂载在/mnt/extra (先"mkdir -p /mnt/extra) 04/27 01:56
31F:→ yuskeb:用"mount -tjffs2 mtd4 /mnt/extra" 就挂起来罗 挂成jffs2 04/27 01:59
32F:→ yuskeb:或"mount -tjffs2 mtd:extra /mnt/extra" 用名字的方式 04/27 02:03
33F:→ yuskeb:或"mount -tjffs2 /dev/mtdblock4 /mnt/extra" 可能得mknod 04/27 02:04
34F:推 yuskeb:我也推荐ask兄说的那本书 对1F说的的MTD用了一整个章节介绍 04/27 02:09
35F:推 yuskeb:原文书出到第二版 原文书作者的写作技巧很好很容易阅读 04/27 02:11
36F:→ yuskeb:不会特意使用艰涩困难的字汇 对理解flash、MTD很有帮住 04/27 02:13
37F:推 yuskeb:http://ppt.cc/nGyq 推荐这部落客的文章 04/27 02:22
38F:推 yuskeb:2. http://linux.die.net/man/5/core 如何产生core file 04/27 02:27
39F:→ yuskeb:http://linux.die.net/man/7/signal 哪些signal会dump core 04/27 02:28
40F:→ yuskeb:最阳春的方式是在app里面呼叫abort()就会产生core file罗 04/27 02:29
41F:→ yuskeb:若不会产生 用"ulimit -a"(bash)检查stack size是否被限制 04/27 02:32
42F:推 yuskeb:用"ulimit -c 5566"或"ulimit -c unlimited"给予stack size 04/27 02:35
43F:→ yuskeb:stack size可能要取决於版子上有多少资源可供挥霍罗 04/27 02:36
44F:→ yuskeb:再来决定一下core file产生的位置 要集中摆在哪一个目录下 04/27 02:40
45F:→ yuskeb:用"sysctl -a 2>/dev/null | grep core" 察看相关的参数 04/27 02:41
46F:→ yuskeb:假设我想放在刚刚说的/mnt/extra目录下 档名是core_blabla 04/27 02:42
47F:→ yuskeb:sysctl -w kernel.core_pattern = "core_%e_%s.%p" 04/27 02:45
48F:→ yuskeb:或 echo "core_%e_%s.%p" > /proc/sys/kernel/core_pattern 04/27 02:48
49F:推 yuskeb:棍上面两行打错了 应该是下面这样 04/27 02:58
50F:→ yuskeb:sysctl -w kernel.core_pattern = "/mnt/extra/core_%e_%s. 04/27 03:00
51F:→ yuskeb:%p" 04/27 03:00
52F:→ yuskeb:或是 04/27 03:00
53F:→ yuskeb:echo "/mnt/extra/core_%e_%s.%p" > /proc/sys/kernel/core 04/27 03:01
54F:→ yuskeb:_pattern 04/27 03:01
55F:推 yuskeb:若嫌core file太肥也可以透过pipe导给gzip帮忙压缩 04/27 03:05
56F:→ yuskeb:http://ppt.cc/Pg(8 参考看看 kernel 2.6.19 後就有支援 04/27 03:06
57F:推 yuskeb:3. 我是把cross-gdb放在host(build code的地方) 04/27 03:09
58F:→ yuskeb:版子上(target)也没有放gdb 不过有放gdb-server 04/27 03:10
59F:推 yuskeb:最後 就像p兄你说的 因为写入寿命的关系 04/27 03:15
60F:推 yuskeb:我是因为遇到会重开机的问题 所以把core file导入像flash 04/27 03:18
61F:→ yuskeb:这样的非挥发性记忆体中 这样重开机才会看得到 04/27 03:19
62F:→ yuskeb:如果没有重开机的疑虑的话 导到tmpfs/ramfs也不错 04/27 03:19
63F:→ yuskeb:再用ftp/tftp/nfs等方式把core file下载回来host上 04/27 03:21
64F:→ james732:楼上可以直接回文了...XDD 04/27 09:37







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BabyMother站内搜寻

TOP