前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >2017.5.19论坛问题精选以及解决方法

2017.5.19论坛问题精选以及解决方法

作者头像
韦东山
修改2020-09-30 10:37:32
7000
修改2020-09-30 10:37:32
举报
文章被收录于专栏:韦东山嵌入式

1,u-boot烧写根文件系统超出了分区大小咋办?

##### 100ask Bootloader for OpenJTAG ##### [n] Download u-boot to Nand Flash [o] Download u-boot to Nor Flash [k] Download Linux kernel uImage [j] Download root_jffs2 image [y] Download root_yaffs image [d] Download to SDRAM & Run [z] Download zImage into RAM [g] Boot linux from RAM [f] Format the Nand Flash [s] Set the boot parameters [b] Boot the system [r] Reboot u-boot [q] Quit from menu Enter your selection: y USB host is connected. Waiting a download. Length of file is too big : 88564608 > 66183036 NAND erase: device 0 offset 0x260000, size 0xfda0000

答:Length of file is too big : 88564608 > 66183036

这个文件系统并没有超过分区,只是超过了内存大小。 因为我们的UBOOT是先把文件系统下载到内存,再烧写的。 对于这种情况,只有这样: 1.使用NFS启动 2.擦除root分区(当然可以在UBOOT里先擦除ROOT分区) 3.mount -t yaffs /dev/mtdblock3 /mnt 4. 把文件复制到 /mnt上: a. 事先把根文件系统放在NFS里某个目录,比如mydir里, b. 执行:cd mydir; cp * -rfd  /mnt 注意,必须加-rfd,其中的d表示原来的链接文件继续作为链接文件,不加d的话链接文件就会作为实体文件复制了,占空间太大

2,fops_get与fops_put怎么理解?

答:内核源码有段:

#define fops_get(fops) \         (((fops) && try_module_get((fops)->owner) ? (fops) : NULL)) #define fops_put(fops) \         do { if (fops) module_put((fops)->owner); } while(0)

一看即知, fops_get: 如果fops存在,先增加它的使用计数,再返回。 fops_put: 如果fops存在,减小它的使用计数。

3,两次设置堆栈,C语言初始化SDRAM拷贝程序失败了

启动文件:

initSDRAM和copyToSDRAM函数:

main.c:

答:

思路没问题, 第1次设置sp弄错了,NOR启动时,片内内存从0x40000000开始,所以应该这样: ldr sp, =1024*4 改为: ldr sp, =1024*4 + 0x40000000

4,不知道为什么开发板启动突然出现这个问题:

答:

贴出烧写内核时的串口信息,这样才能确定问题。

肯定是烧写出了问题:要么没烧成功,要么是uImage超过2M了

5,busybox1.7.0制作yaffs2重启时,出现:

答:

修改busybox下的 .config,添加这2行:

CONFIG_ASH=y CONFIG_ASH_BASH_COMPAT=y

6,指针和数组的问题

volatile unsigned long*p=(volatile unsigned long *)0x48000000;

不是应该是p=mem_cfg_val[i];                  p++;吗 怎么MMU那课讲的是p[i]=mem_cfg_val[i];

答:p=mem_cfg_val[i]; 是错的; volatile unsigned long*p p = val ? 必错 应该是 *p = val; 或 p[0] = val

7,想玩一下JZ2440 pwm控制舵机但是找不到引脚

答:JZ2440没引出PWM引脚

8, jz2440怎样挂载SD卡?

512MB的SD卡,插入开发板后用fdisk -l 命令没有东西显示出来,提示如下:

# s3c2440-sdi s3c2440-sdi: running at 0kHz (requested: 0kHz). s3c2440-sdi s3c2440-sdi: running at 196kHz (requested: 195kHz). s3c2440-sdi s3c2440-sdi: running at 196kHz (requested: 195kHz). s3c2440-sdi s3c2440-sdi: running at 196kHz (requested: 195kHz). s3c2440-sdi s3c2440-sdi: running at 196kHz (requested: 195kHz). s3c2440-sdi s3c2440-sdi: running at 196kHz (requested: 195kHz). s3c2440-sdi s3c2440-sdi: running at 196kHz (requested: 195kHz). s3c2440-sdi s3c2440-sdi: running at 196kHz (requested: 195kHz). s3c2440-sdi s3c2440-sdi: running at 25000kHz (requested: 25000kHz). s3c2440-sdi s3c2440-sdi: running at 25000kHz (requested: 25000kHz). mmcblk0: mmc0:59b4 NCard 7851008KiB  mmcblk0:<7>mmc0: starting CMD18 arg 00000000 flags 00000035 p1 # mount mmc0 mnt/usb/ mount: mounting mmc0 on mnt/usb/ failed: No such file or directory

答:

mount -tvfat  /dev/mmcblk0p1  /mnt

9,跪求第三期支持摄像头的已经全部弄好了的虚拟机,就是插入摄像头就能用老师那样的控制台TTY1操作的虚拟机。且带有3.4内核可以移植到开发板上的。插入摄像头就能在LCD上显示。一直失败,马上答辩了。

答:这明显是video2lcd不是交叉编译的,或是选用的工具链跟开发板根文件系统不一致

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017/05/19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档