
FreeRTOS/Linux
文章平均质量分 72
林晓海
The only way to do great work is to love what you do. If you havent found it yet keep looking. Dont settle. As with all matters of the heart y...
展开
-
移植Linux操作系统时候遇到的问题
1.Kernel panic - not syncing: Attempted to kill init! 上网搜索了一些相关信息,找到了解决问题的途径。 原因在于:编译内核和busybox使用的编译器是arm-linux-gcc 4.3.2,而这个编译器默认是打开“EABI选项”的,这样编译出来的busybox就是EABI的。但是内核编译的时候,默认是把“EABI选项”关掉的。所以bus转载 2013-08-30 08:34:54 · 1559 阅读 · 0 评论 -
go 0x30008000之后遇到的问题
go 0x30008000之后遇到的问题停在"booting the kernel"不动了!-------------------------------------------问题:Uboot> go 0x30008000 (启动内核)Uncompressing Linux................................................转载 2013-08-27 22:28:38 · 1515 阅读 · 0 评论 -
Linux内核启动参数
Console Options 参数说明选项内核配置/文件 console=Options用于说明输出设备ttyn 终端 ttySn[,options], ttyUSB0[,options] 串口uar转载 2013-08-27 22:25:22 · 890 阅读 · 0 评论 -
制作initramfs镜像
Linux kernel在自身初始化完成之后,需要能够找到并运行第一个用户程序(这个程序通常叫做“init”程序)。用户程序存在于文件系统之中,因此,内核必须找到并挂载一个文件系统才可以成功完成系统的引导过程。在grub中提供了一个选项“root=”用来指定第一个文件系统,但随着硬件的发展,很多情况下这个文件系统也许是存放在USB设备,SCSI设备等等多种多样的设备之上,如果需要正确引导,US转载 2013-08-27 17:31:48 · 1091 阅读 · 0 评论 -
mini2440 移植linux2.6.30.10 及yaffs2文件系统 2011-03-12 10:17:18
研究了四天linux内核移植和文件系统制作,总算移植成功,在这里和大家分享一下,我是一个初学者,有不对的地方,请大家指点。参考网友的资料:http://blog.chinaunix.net/u3/104564/sho ... 91186.htmlhttp://www.ourdev.cn/bbs/bbs_content.js ... bs_id=1032http://blog.sin转载 2013-08-27 15:57:12 · 689 阅读 · 0 评论 -
linux系统移植时候存在的常见问题
今天用主线Linux内核移植到MINI6410,主线内核2.6.37.1基本已经支持了MINI6410的板子,所以移植到能够启动起来的阶段很简单,但是在移植的时候还是出现了一个比较常见的问题:MINI6410 # bootm 0x50008000 ## Booting kernel from Legacy Image at 50008000 ... Image Name: Linu转载 2013-08-27 10:44:17 · 1108 阅读 · 0 评论 -
......... done, booting the kernel问题汇总帖
Error: unrecognized/unsupported machine ID (r1 = 0x33f60264).解决方法一======================================================== Linux内核启动时出现:bad machine ID,原因大致是u-boot传递给内核的machine ID错误,可以手动在内核源转载 2013-08-27 10:37:06 · 6098 阅读 · 0 评论 -
Linux移植过程遇到的问题
原文地址:希望今天能完成linux3.3.8在OK6410上的部分移植作者:always_std今天解决仅解决了3个小问题,make zImage 成功,还是值得欣慰的。但是kernel烧进去后还是无法启动,DNW显示卡在Uncompressing Linux... done, booting the kernel.就不动了,怀疑哪个ID设置错误。。。看来不是ID错误解决方案:翻译 2013-08-27 13:24:30 · 3717 阅读 · 0 评论 -
Uboot 移植较好的文章
给大伙推荐下http://zhengxianqing1986.blog.163.com/blog/static/180567261201222681150436/http://blog.youkuaiyun.com/yyttiao转载 2013-08-18 21:10:23 · 669 阅读 · 0 评论 -
每个程序员必须知道的100条指令
转载自:http://www.catswhocode.com/blog/100-vim-commands-every-programmer-should-knowPublished on June 30th, 2008 by Jean-Baptiste Jung.131 Comments - Since the 70′s, Vi is one of the programmer转载 2013-07-04 08:57:50 · 1074 阅读 · 0 评论 -
UDP 单播 组播 广播
多播广播是用于建立分步式系统:例如网络游戏、ICQ聊天构建、远程视频会议系统的重要工具。使用多播广播的程序和UDP向单个介绍方发送信息的程序相似。区别在于多播广播程序使用特殊的多播IP地址。1、组播和广播需要在局域网内才能实现,另外得查看linux系统是否支持多播和广播:# ifconfigUP BROADCAST MULTICAST MTU:1500 跃点数:1说明该网卡支持2、发送转载 2013-07-01 19:46:41 · 1274 阅读 · 0 评论 -
linux 移植遇到的问题备份
今天移植linux内核到开发板,真是问题重重,首先是机器码不对,而后又出现网卡驱动不对,紧接着又出现了文件系统不管挂载,不过还好,我遇到问题都比较擅长去分析和解决,也许这就是程序员的有点吧!让我们看看下面的具体提示,然后分析下吧:Start Linux ...Copy linux kernel from 0x00240000 to 0x30008000, size = 0x转载 2013-08-27 14:51:58 · 812 阅读 · 0 评论 -
Linux2.6.36/37下移植yaffs2
yaffs2 老版本不支持2.6.36以上内核。 网上下载的yaffs2常见版本(点击http://www.aleph1.co.uk/cgi-bin/viewcvs.cgi/下方的Download GNU tarball进行下载)一般不支持2.6.36/37。但2.6.36一下版本依然可以使用。 最新的yaffs2采用git发布,利用git工具下载到最新的yaffs2源代转载 2013-08-27 15:23:52 · 905 阅读 · 0 评论 -
对嵌入式Linux中的根文件系统的理解和解析
虽然前面已经利用Busybox制作了根文件系统,但是对于根文件系统的作用和普通的文件系统之间的区别还是有点模糊。通过查找资料总结了一下对根文件系统的理解,也欢迎大家一起讨论。 首先要明白的是“什么是文件系统”,文件系统是对一个存储设备上的数据和元数据进行组织的机制。这种机制有利于用户和操作系统的交互。在一篇oracle的技术文章中看到这样一句话“尽管内核是 Linux 的核转载 2013-08-27 17:27:35 · 770 阅读 · 0 评论 -
Linux移植过程中的一些错误
问题点:1 YAFFS2根文件系统无法挂载Failed to execute /linuxrc. Attempting defaults...Kernel panic - not syncing: No init found. Try passing init= option to kernel.原因:mkyaffs2image工具有问题,制作的YAFFS2文件系统不能被内核识转载 2013-08-29 09:39:14 · 1566 阅读 · 0 评论 -
Warning - bad CRC or NAND, using default environment 错误的解决方案
DRAM: 64 MB Flash: 1 MB NAND: 64 MiB *** Warning - bad CRC, using default environment还存在警告,这个警告不是错误,而是新的环境变量起作用,只要在OPENJTAG但是我在下面输入saveenv、reset之后还存在警告。。。网友henry.li说:估计是你的环境变量保存的位置不正确,环境变转载 2013-08-29 09:24:57 · 3509 阅读 · 0 评论 -
u-boot如何向内核传递Flash的分区信息
1.如何对nand 分区。修改mtdparts环境变量就可以了么?对于目前的U-boot而言,是的.而且, 设置了mtdparts变量之后,你可以在nand read/write/erase命令中直接使用分区的名字而不必指定分区的偏移位置.set bootargs noinitrd console=ttySAC0 root=/dev/mtdblock3 rootfstype=jff转载 2013-08-28 09:39:33 · 1013 阅读 · 0 评论 -
Linux内核启动参数
Linux内核在启动的时候,能接收某些命令行选项或启动时参数。当内核不能识别某些硬件进而不能设置硬件参数或者为了避免内核更改某些参数的值,可以通过这种方式手动将这些参数传递给内核。 如果不使用启动管理器,比如直接从BIOS或者把内核文件用“cp zImage /dev/fd0”等方法直接从设备启动,就不能给内核传递参数或选项--这也许是我们使用引导管理器比如LILO的好处之一吧。 Linu转载 2013-08-27 22:23:16 · 1062 阅读 · 0 评论 -
内核kernel、根文件系统rootfs如何映射到对应的nand flash
内核kernel以及根文件系统rootfs是如何映射到对应的nand flash的地址的【解答】内核kernel以及根文件系统rootfs是如何映射到对应的nand flash的地址的【某人问题 内核在启动的过程中,是如何完成将本地的flash设备映射成文件系统的? 】我用的是ramdisk.image.gz,烧写在flash的0x10140000处我不太明白内核在启动过程中式转载 2013-08-27 17:29:18 · 992 阅读 · 0 评论 -
yaffs2文件系统移植
1、Linux2.6.37下移植yaffs文件系统原始的linux内核是不支持Yaffs2文件系统的,我们首先需要下载yaffs2的内核补丁,给内核打上yaff2补丁才能使内核支持该文件系统。yaffs2 老版本不支持2.6.36以上内核。 网上下载的yaffs2常见版本(点击http://www.aleph1.co.uk/cgi-bin/viewcvs.cgi/下方的Do转载 2013-08-27 16:06:17 · 784 阅读 · 0 评论 -
window下版本控制工具Git 客户端安装
安装使用 1.下载msysgit http://code.google.com/p/msysgit/ 2.下载tortoisegit客户端安装 http://code.google.com/p/tortoisegit/ 设置Git的安装路径: 转载Git说明: Git是什么 Git 在Wikipedia上的定义:它是一个免费的、分布式的版本控制工具,或是一转载 2013-08-27 15:30:57 · 667 阅读 · 0 评论 -
制作生产yaffs映像文件的工具
进入yaffs2/util目录,修改mkyaffsimage.c文件(1)在头文件引用中增加#include "yaffs_packedtags1.h"(2)修改write_chunkh函数233行-258行修改为如下:#ifdef CONFIG_YAFFS_9BYTE_TAGSyaffs_Tags t;yaffs_Spare s;error = write(outFi转载 2013-08-27 22:16:26 · 1252 阅读 · 0 评论 -
修改制作yaffs映象文件的工具
三. 修改制作yaffs映象文件的工具在 yaffs 源码中有个 utils 目录,里面是工具 mkyaffsimage 和 mkyaffs2image的源代码,前者用来制作 yaffs1 映象文件,后者用来制作 yaffs2 映象文件。目前 mkyaffsimage 工具只能生成老格式的yaffs1 映象文件,需要修改才能支持新格式。(1)下载的yaffs2解压出转载 2013-08-27 22:14:49 · 783 阅读 · 0 评论 -
yaffs根文件系统制作
其实在去年8月份我做系统移植时就构建好了一个可以用的根文件系统,但是那时是跟着别人的《Linux全线移植文档》做的。有些东西我也不清楚,只是跟着做,做出来能用就了事了,没有深究其中的规范,以及文件系统中哪些要,哪些不要。趁着今年过年的几天假期,我移植重新移植了U-Boot1.3.1和Linux2.6.24到S3C2410及S3C2440后,我想好好的看看有关文件系统构建方法和规范,整理整理转载 2013-08-27 18:25:46 · 709 阅读 · 0 评论 -
组播
组播通过测试,双网卡或多网卡设置在不同IP段。IP地址空间被划分为A、B、C三类。第四类即D类地址被保留用做组播地址。在第四版的IP协议(IPv4)中,从224.0.0.0到239.255.255.255间的所有IP地址都属于D类地址。所以要利用组播发送数据必须有一个虚拟的组播IP,所谓虚拟,就是你不必把网卡地址设为此IP,而只需在你程序中出现,相当于建立一个以此IP为标志的集合,所有想加入组转载 2013-07-01 19:50:48 · 838 阅读 · 0 评论 -
文件锁
linux低级文件编程中也讲到 多用户多任务操作系统中非常重要的一个内容就是文件锁。用户在更新文件时,期望可以使用某种机制,防止两种进程同时更新文件同一区域而造成丢失,或者防止文件内容在未更新完毕时被读取等并发引起的问题,这种机制就是文件锁。 进程在操作文件期间,可以使用文件锁,锁定文件中的敏感部分,防止其他进程越权操作该部分数据。函数fcntl提供了对文件任意区域置锁的能力转载 2013-06-25 12:32:56 · 634 阅读 · 0 评论 -
Linux 常用命令行工具
dstat & sariostat, vmstat, ifstat and much more in one.slurm网络流量图形化工具vim & emacs这个没人不知道吧~screen, dtach, tmux, byobu保持你的终端连接活跃。multitail在不同的窗口查看日志文件。tpp命令行下面的PPT工具!转载 2013-05-20 11:57:29 · 790 阅读 · 0 评论 -
Linux系统调用--getrlimit/setrlimit函数详解
功能描述:获取或设定资源使用限制。每种资源都有相关的软硬限制,软限制是内核强加给相应资源的限制值,硬限制是软限制的最大值。非授权调用进程只可以将其软限制指定为0~硬限制范围中的某个值,同时能不可逆转地降低其硬限制。授权进程可以任意改变其软硬限制。RLIM_INFINITY的值表示不对资源限制。用法:include #include int getrlimit(int转载 2013-05-20 16:17:02 · 659 阅读 · 0 评论 -
linux查看打开文件的命令–lsof
简介:lsof可以列出某个进程打开的所有文件信息。打开的文件可能是普通的文件,目录,NFS文件,块文件,字符文件,共享库,常规管道,明明管道,符号链 接,Socket流,网络Socket,UNIX域Socket,以及其它更多。因为Unix系统中几乎所有东西都是文件,你可以想象lsof该有多有用。lsof的输出:FD 和 Type 列的含义最为模糊,它们提供了关于文件如何使用的更转载 2013-05-02 09:23:35 · 828 阅读 · 0 评论 -
每次登入Ubuntu时候总是有错误对话框出现并且提示 E:Encountered a section with no Package: header,
这几天把Ubuntu 12.04升级到了13.04但是每次登入Ubuntu时候总是有错误对话框出现并且提示E:Encountered a section with no Package: header, E:Problem with MergeList /var/lib/apt/lists/cnxxxxx,还以为是新出的系统不稳定的原因导致,就一直将就用着,今天闲下来到网上查了下找到了解决的方法原创 2013-05-01 12:52:14 · 1294 阅读 · 0 评论 -
linux驱动开发的经典书籍
linux驱动开发的经典书籍作者:彩阳 日期:2012-5-16 8:29:00Linux驱动学习的最大困惑在于书籍的缺乏,市面上最常见的书为《linux_device_driver 3rd Edition》,这是一本很经典的书,无奈Linux的东东还是过于庞大,这本侧重于实战的书籍也只能停留在基本的接口介绍上,更深入的东东只能靠我们自己摸索了。但万事总有一个开转载 2013-04-27 12:51:31 · 616 阅读 · 0 评论 -
Linux启动中init进程的处理(转)
Linux启动中init进程的处理:init进程会根据/etc/inittab配置文件来初始化系统,inittab文件内容大致如下:12345678910111213# The default runlevelid:2:initdefault# Boot-time system configuration/initializat转载 2013-04-16 23:44:58 · 983 阅读 · 0 评论 -
Vim 设置 转的很好的推荐
首先安装完整版本的VIM 如果是在Linux下,可以安装VIM-Enhance使其扩展为完整版本的VIM,如果在Windows下,直接安装它的Binary就行了。当然自己编译安装可能更好些。安装成功以后就是第二步设置vim vim通过一个叫vimrc的文件来进行设置 默认安装的vim-tiny的设置文件可以在/usr/share/vim中找到,果然极其简洁 这里我们转载 2013-04-12 21:19:36 · 831 阅读 · 0 评论 -
Ubuntu目录介绍
目录结构及主要内容 “/”根目录部分有以下子目录: /usr 目录包含所有的命令、程序库、文档和其它文件。这些文件在正常操作中不会被改变的。这个目录也包含你的Linux发行版本的主要的应用程序,譬如,Netscape。 /var 目录包含在正常操作中被改变的文件:假脱机文件、记录文件、加锁文件、临时文件和页格式化文件等。 /home 目录包含用户的文件:参数设置转载 2013-04-10 00:14:23 · 3638 阅读 · 0 评论 -
在Linux下使用QQ的方法
这个世界上有两只出名的企鹅,一只是为全世界作出巨大贡献的Linux企鹅,另外一只则是在中国IT行业对同行赶尽杀绝的QQ企鹅,可能是因为基情的关系,QQ从来没给Linux好脸色过,其旗下的重要客户端的Linux版,没有好过,已经烂尾,并且这一现象还是基于QQ的服务器使用Linux系统的情况下。不过只要在中国,基本上就很难离开QQ,虽然官方的客户端蛋疼,但是来自Linuxer的那边的努力是源源不断的,转载 2013-03-02 10:02:29 · 1187 阅读 · 0 评论 -
如何学习linux
http://robertleejesus.javaeye.com/blog/230759linux太难用了!(一通鼠标点击,进入/etc)学习linux,你忘记windows的思维方式了吗?怎么安装软件阿?那一堆文件是干什么的阿?学习linux,你还在浮躁吗?进入linux,随便按了几下.赶紧重启进入win学习linux,你用心了吗?.......首先转载 2013-05-21 15:12:00 · 917 阅读 · 1 评论 -
嵌入式行业的一些建议
最近经常有用人单位给我打来电话,问我这有没有嵌入式Linux方面的开发人员,他们说他们单位急需要懂得在嵌入式linux环境下的软件开发人员,我回答说,现在每年毕业的大学生那么多,还招不到合适的软件开发人员吗?他跟我说,毕业大学生虽然多,但大部分都能力不够,不能达到他们的工作的要求。该公司HR的一句话说出来我们现在的大学教学和大学生就业的现状:一方面每年那么多大学生毕业找不到合适的工作,另一方面很多转载 2013-05-07 20:37:04 · 1087 阅读 · 0 评论 -
关于Linux文件模式16位材料的收集
http://hi.baidu.com/ilonng/blog/item/0e8aab469272661d6b63e5a0.html Linux的文件,有个16位的字来表示文件的类型和属性信息,其中4位表示文件的类型信息,剩下的12位表示文件的模式。 linux下面文件类型一共有7种,分别是:1. 普通文件,regularfile,这是最常见的文件类型,这种文件包含了某种形转载 2013-05-23 13:16:57 · 1040 阅读 · 0 评论 -
文件锁
功能描述:根据文件描述词来操作文件的特性。#include #include int fcntl(int fd, int cmd); int fcntl(int fd, int cmd, long arg); int fcntl(int fd, int cmd, struct flock *lock);[描述]fcntl()针对(文件)描述符提供控制。参数fd是被参数转载 2013-06-25 12:31:48 · 629 阅读 · 0 评论 -
Linux 下的定时器介绍
一、简介这篇文章主要记录我在试图解决如何尽可能精确地在某个特定的时间间隔执行某项具体任务时的思路历程,并在后期对相关的API进行的归纳和总结,以备参考。二、问题引出很多时候,我们会有类似“每隔多长时间执行某项任务”的需求,乍看这个问题并不难解决,实则并不容易,有很多隐含条件需要考虑,诸如:时间精度是多少?时间是否允许出现偏差,允许的偏差是多少,偏差之后如何处理?系统的负载如何?这个程序允许占用的转载 2013-06-21 09:02:06 · 527 阅读 · 0 评论