
Embedded
文章平均质量分 66
fengzhishang_meteor
吾生也有涯,而知也无涯
展开
-
nand flash块,坏块,页,oob等解释
http://blog.youkuaiyun.com/seasonyrq/article/details/51510965本文针对nand flash坏块部分进行简单的记录什么是坏块我们先来看一下nand flash的存储结构 nand flash的存储结构为:一个flash由许多个block组成,一个block又是有许多个page组成,一个page又是由有效的数据转载 2018-01-09 15:21:49 · 12425 阅读 · 0 评论 -
周立功烧写器(ZLG SMARTPRO5000U-Plus)烧写验证
最新购置了一款周立功烧写器SMARTPRO5000U-Plus,与原西尔特SUPERPRO 6100对芯片的烧写支持进行对比,操作方式基本相同一、软件安装1.编程器驱动从光盘获取程序,根据电脑的不同,安装的复杂程度不同,使用64位电脑安装较为复杂,需要修改boot(有的也不需要,我的电脑就不需要),安装完后在计算机管理中可以找到ZY Programmer,说明已经安装成功,若为un原创 2016-08-26 09:02:28 · 10504 阅读 · 0 评论 -
Busybox简介
根文件系统及Busybox简介目录1.根文件系统简介...22.Busybox简介...22.1Busybox简介...22.2Busybox目录结构简介...22.3init进程简介...33.构建自己的根文件系统...93.1编译Busybox.93.2向Busybox中添加新命令...194.附录...26转载 2016-08-25 09:08:08 · 831 阅读 · 0 评论 -
Linux syslog机制
在嵌入式Linux上做一个内核的日志保留功能,来定位内核无故重启的问题。原创 2016-07-29 17:49:52 · 2791 阅读 · 0 评论 -
嵌入式中搭建ssh服务器
$ ssh root@192.168.0.22root@192.168.0.22's password: Permission denied, please try again.原创 2016-07-15 09:27:28 · 3296 阅读 · 0 评论 -
嵌入式 LINUX 下关闭串口控制台输出
嵌入式 LINUX 下关闭串口控制台输出Posted on 2014-08-16 13:23 CrHackOS 阅读(2833) 评论(1) 编辑 收藏 引用 所属分类: 技术随笔 最近在玩新唐的 N32926。这颗芯片最大的优势就是把 DDR 内存和 ARM9 的芯片做在一起了,提供非 BGA 的芯片封装(QFP128)。比起三星之类的硬件可以简单不少,性价比也不错。缺点就是,转载 2016-07-28 13:57:15 · 16184 阅读 · 2 评论 -
烧录器配置字参数说明
UBA start block表示程序文件从第几block开始进行烧录,默认是从0000开始。Size of UBA blocks表示程序文件要烧录多少个block。目前芯片SAMSUNGK9K8G08U0B,K9K8G08U0E等芯片的页(大页)大小为2K一个blcok是64个page,所以block大小为128K原创 2016-07-21 09:32:41 · 5996 阅读 · 0 评论 -
OK6410-A开发板学习-⑦uboot移植(4) uboot起不来问题
原创 2016-05-09 20:50:47 · 865 阅读 · 0 评论 -
OK6410-A开发板学习-⑤uboot移植(3)DM9000 网卡驱动移植
网卡移植原创 2016-02-03 15:14:26 · 1403 阅读 · 0 评论 -
OK6410-A开发板学习-④uboot移植(2)
根据上一篇的移植,我们可以尝试load进ram试试能不能起来将生成的u-boot.bin放到tftpserver,在小板串口上配置好ip然后下载文件,但go之后并没有起来SMDK6410 # tftp 50000000 u-boot.binFound DM9000 ID:90000a46 at address 18000300 !DM9000 work in 16 bus widt原创 2016-02-02 18:58:02 · 1714 阅读 · 0 评论 -
svn命令行使用技巧
如果你希望恢复一整个目录的文件,可以使用--depth=infinity选项:$ Svn revert --depth=infinity .Reverted newdir/afileReverted foo.cReverted bar.txt最后,你可以取消预定的操作:$ svn add mistake.txt whoopsA mistake.txt原创 2016-03-16 20:15:14 · 1374 阅读 · 0 评论 -
GMII,RGMII,SGMII,TBI,RTBI接口信号及时序介绍
GMII,RGMII,SGMII,TBI,RTBI接口信号及时序介绍千兆以太网MII接口类型主要有GMII、RGMII、SGMII、TBI和RTBI 五种GMII接(如下图): 与MII接口相比,GMII的TX/RX数据宽度由4位变为8位,GMII接口中的控制信号如TX_ER、TX_EN、RX_ER、RX_DV、CRS和COL的作用同MII接口中的一样,发送参考时钟GTX_CLK和转载 2016-10-11 17:08:46 · 46794 阅读 · 0 评论 -
linux 延时及时间函数总结
一、 基础知识1、时间类型。Linux下常用的时间类型有4个:time_t,struct timeval,struct timespec,struct tm。(1)time_t是一个长整型,一般用来表示用1970年以来的秒数。(2)Struct timeval有两个成员,一个是秒,一个是微妙。struct timeval { long tv_转载 2016-10-18 16:22:09 · 5108 阅读 · 0 评论 -
mips eldk交叉编译错误
目前使用的mips的编译工具链为eldk4.1这个工具链在ubuntu10.04上正常编译程序,但这个系统太老了,换了个ubuntu12.04,编译helloworld会报下面的错误各种修改都没有解决问题,感觉像是操作系统的库文件和工具链的库文件有差异造成的/home/kevin/Documents/mips-tools/usr/bin/../lib/gcc/mips-linu原创 2016-11-11 11:45:50 · 1574 阅读 · 0 评论 -
cpu大小端测试
#include #include int main(){ unsigned int a = 0x12345678; unsigned int b; unsigned char *c; unsigned char *d; b = ntohl(a); c = (unsigned char *)&a; d = (unsigned char *)&b; printf("a原创 2017-03-14 16:30:42 · 940 阅读 · 0 评论 -
gdb调试和技巧
GDB调试第一部分 命令行和使用方法gdb常用命令在下表列出:命令描述backtrace(或bt)查看各级函数调用及参数finish连续运行到当前函数返回为止,然后停下来等待命令frame(或f)帧编号 选择栈帧info(或原创 2017-11-15 11:16:32 · 2972 阅读 · 0 评论 -
serdes简介
1x2x4x指使用的serdes的数量1x serDes的速率是1.25G SGMII interfaces are offered via the SerDes interface signals.sgmii是串行介质独立媒体接口,一般是phy和mac间的接口。eTSEC作为MAC层,配置接口如果为RGMII一般外部接PHY如果支持SG原创 2016-10-10 14:27:33 · 21535 阅读 · 1 评论 -
【UBI】ubi问题总结
挂载成功后,使用正常。有时会出现:UBIFS error (pid 76): ubifs_read_node: bad node type (255 but expected 1)UBIFS error (pid 76): ubifs_read_node: bad node at LEB 31:20480, LEB mapping status 0UBIFS error (pid 76原创 2015-08-10 16:28:36 · 11721 阅读 · 0 评论 -
gpio上拉失效问题
遇到一个问题是与gpio的上拉失效有关。先看一下我的问题描述和解决过程关于反复重启1000整机设备,出现PXM板卡启动失败的现象问题描述:通过当时记录的串口信息,最开始的异常出现在sdk加载上,sdk加载失败后内核打印localbus的错误,设备重启后ubi挂载失败/home下程序丢失问题分析:P1020 cpu中的localbus是e500核与外围控制器的通道,与r原创 2017-03-21 17:53:00 · 4777 阅读 · 0 评论 -
gawk: error while loading shared libraries: libreadline.so.6:
平台编译报错,错误现象比较奇怪checking for working htonl... yesconfigure: creating ./config.statusconfig.status: creating Makefilegawk: error while loading shared libraries: libreadline.so.6: cannot open sh原创 2017-03-14 19:32:15 · 5073 阅读 · 3 评论 -
工具链中库和头文件的搜索路径
制作.so文件我们的目标是制作共享库,即.so文件。 首先,编译stack.c:$gcc -c -fPIC -o mystack.o mystack.c-c表示只编译(compile),而不连接。-o选项用于说明输出(output)文件名。gcc将生成一个目标(object)文件mystack.o。注意-fPIC选项。PIC指Position Ind转载 2017-02-23 19:46:39 · 2493 阅读 · 0 评论 -
busybox telnetd: can't find free pty
http://blog.sina.com.cn/s/blog_593507fd010180ld.htmltelnetd执行起来后,客户端连接时,telnetd会崩溃是telnetd在前端执行,这样可以打印一些信息[root@Huahuan:home]#/usr/sbin/telnetd -Ftelnetd: can't find free转载 2017-03-01 10:27:25 · 2870 阅读 · 0 评论 -
uboot支持ubi和ubifs遇到的问题
uboot version 2012.10nand type:Micron MT29F16G08CBACA一、执行ubi part kernel时报错-12Creating 1 MTD partitions on "nand0":0x000004200000-0x00001e200000 : "mtd=3"UBI: attaching mtd1 to ubi0U原创 2017-01-20 18:08:42 · 7877 阅读 · 0 评论 -
cc1: error while loading shared libraries: libmpc.so.3:
问题是这样的,通过buildroot做了一套工具链,将工具链打包出来放到其他机器上,大部分的编译都可以但编译内核时报错 CHK include/linux/version.h CHK include/generated/utsrelease.hmake[1]: `include/generated/mach-types.h' is up to date.原创 2017-02-28 14:04:46 · 10373 阅读 · 0 评论 -
Linux 内核空间与用户空间异步通信机制
/* * @file exirq.c * @author fzs * @date 2016-12-13 */#include #include #include #include #include #include #include #include #include #include #include #include #include #include原创 2016-09-22 10:36:58 · 889 阅读 · 0 评论 -
cmake使用整理
常用选项:-G 指定makefile生成器的名字。例如:cmake -G "MinGW Makefiles";注意generator是大小写敏感的,即使是在windows下。generator所用的命令(gcc,cl等)最好已经设置在环境变量PATH中。有个例外就是生成visual studio的工程不必设置环境变量,只要安装了对应的vs,cmake可以自动找到。-D:= 添加变量及值到原创 2016-05-05 20:04:12 · 2896 阅读 · 0 评论 -
cmake 提示gcc或交叉编译 broken
cmake reports gcc is broken. Where do I start?-- Check for working C compiler: /usr/bin/gcc -- brokenCMake Error at /usr/share/cmake-2.8/Modules/CMakeTestCCompiler.cmake:61 (message): Th原创 2016-05-05 19:58:19 · 14540 阅读 · 0 评论 -
交叉编译头文件的默认搜索路径
最开始是头文件找不到问题一开始确实缺少这个sqlite.h,拿到这个(其他同事那有,作者当时用的)后放到/usr/include,因为网上各种资料表示编译的时候默认的头文件路径是这个试过其他几个地方仍然报同样的错,No such file or directory而且在/usr/include里面找到了pthread.h,我就纳闷原创 2015-04-16 15:32:31 · 12897 阅读 · 0 评论 -
根文件系统制作的lib库必须添加的文件
制作根文件系统时,当把busybox编译的四个文件拷进了文件夹里,必备的文件目录页建立了,初始化目录,设备文件也建立了这时候就需要添加库文件了。这里就有一个值得注意的地方了,如果你的busybox是静态编译的,就是不需要动态链接库的话,就不需要添加lib库了。设置静态编译方式 Busybox Settings ---> Build Option转载 2015-06-16 16:21:59 · 893 阅读 · 0 评论 -
嵌入式系统下console,tty,串口的关系
tty driver其实就是console的低层驱动了,除了和硬件进行交互的代码可以写在这里之外,也可以自己虚拟一个tty 设备出来,配合网络模拟的远程console接口什么的。 tty是一类char设备的通称,它们有相同的特性,比如对^C的处理,驱动使用tty_register_driver注册一个tty。/dev/console是一个虚拟的tty,它映射到真正的tt转载 2015-06-17 17:05:08 · 4495 阅读 · 1 评论 -
busybox init初始化过程
http://www.linuxidc.com/Linux/2011-12/49878p3.htmLinux内核启动过程的最后一步就是通过do_execve()函数加载执行用户空间的init程序(如BusyBox init、sysvinit等等),它是系统中所有其他进程的父进程(进程ID为1),在系统运行期间以守护进程的形式一直存在,主要用来完成系统的各项配置以及监视其子进转载 2015-06-17 17:08:27 · 968 阅读 · 0 评论 -
norflash启动和nandflash启动
http://blog.chinaunix.net/uid-26404697-id-3150975.html S3C2440的启动时读取的第一条指令是在0x00上,分为成nand flash和nor flash上启动。 nand flash:适合大容量数据存储,类似硬盘;nor flash:适合小容量的程序或数据存储,类似小硬盘;sdram:主要用于程序执行时的程序存储、执转载 2015-05-21 09:42:23 · 853 阅读 · 0 评论 -
/dev/mem
/dev/mem是物理内存的全映像,可以用来访问物理内存,一般用法是open("/dev/mem",O_RDWR|O_SYNC),然后mmap,接着就可以用mmap的地址来访问物理内存,这实际上就是实现用户空间驱动的一种方法。有几个论据倾向于用户空间编程,有时编写一个所谓的用户空间设备驱动对比钻研内核是一个明智的选择,用户空间驱动的好处在于:[html] view pl转载 2015-04-20 15:33:18 · 1288 阅读 · 0 评论 -
关于文件系统目录和分区等
VFS 是底层文件系统的主要接口。这个组件导出一组接口,然后将它们抽象到各个文件系统,各个文件系统的行为可能差异很大。有两个针对 文件系统对象的缓存(inode 和 dentry)。它们缓存最近使用过的文件系统对象。每个文件系统实现(比如 ext2、JFS 等等)导出一组通用接口,供 VFS 使用。缓冲区缓存会缓存文件系统和相关块设备之间的请求。例如,对底层设备驱动程序的读写请转载 2015-04-24 16:42:52 · 2540 阅读 · 0 评论 -
Ubuntu(Linux) 收发包工具
斯蒂芬第三方原创 2015-01-07 13:01:50 · 2974 阅读 · 0 评论 -
基于Linux内核的应用程序构造(一)——内核配置
依据oplonu产品为例,着重解析编译过程。1.执行编译脚本$ ./f23p-v1e-build执行make f23pv1eoplonu/make.rules:进入$(KERNEL_DIR)/linux-2.6.21.5并执行make onu_respin_f23p_defconfig;$(KERNEL_DIR)/linux-2.6.21.5/Makefile:原创 2014-12-09 14:40:05 · 717 阅读 · 0 评论 -
基于Linux内核的应用程序构造(三)——内核安装
if make f23pv1ethen if make then if make install原创 2014-12-22 17:01:18 · 781 阅读 · 0 评论 -
基于Linux内核的应用程序构造(二)——应用程序编译
依据oplonu产品为例,着重解析编译过程Kernel Version:linux2.6.21.5SDK:https://github.com/DavionKnight/oplonu执行编译脚本$ ./f23p-v1e-build执行完make f23pv1e,执行makeoplonu/Makefile.conf:COMPONENTS = \原创 2014-12-22 10:47:15 · 810 阅读 · 0 评论 -
利用busybox制作yaffs2文件系统
平台:Vmware-7.1.4 ,Ubuntu 10.04硬件:mini2440交叉编译器:arm-linux-gcc 4.1.2(openmoko制作)busybox: busybox-1.18.5.tar.bz2 log:1.2011.7.2修改:busybox换成最新稳定版1.18.52.2011.7.13修改:关于使用glibc库的问题。移植步骤1.转载 2014-11-04 17:40:09 · 937 阅读 · 0 评论 -
github出现HTTP request failed
1、archermind@aclgcl-ubnt:/local/frameworktools$ git pusherror: The requested URL returned error: 403 while accessing https://github.com/songjinshi/frameworktools.git/info/refsfatal: HTTP request fai转载 2015-06-03 17:49:07 · 4089 阅读 · 0 评论