嵌入式开发
文章平均质量分 63
老罗来也
这个作者很懒,什么都没留下…
展开
-
链接库时的“undefined reference to”
通常的“undefined reference to”都是找不到头文件和库文件,一般需要指定-I${header_path},-L${lib_path} -l${lib_name} ,都能解决问题,不过最近遇到一个特别奇怪的问题,加上以上的信息仍然报此错误,我的Makefile如原创 2011-08-15 09:35:11 · 18024 阅读 · 3 评论 -
insmod 模块时报:No such device
未分配资源造成添加类似以下代码:static struct platform_device device_name = { .name = "", .id = -1,};原创 2012-10-19 15:50:03 · 4767 阅读 · 1 评论 -
中文乱码FAT: IO charset not found
此问题是因为内核没有配置好解决方法:File systems ---> Native Language Support --->(utf8) Default NLS Option ///此括号内为utf8 Simplified Chinese charset (CP936, GB2312) NLS ISO 8859-1 (Latin 1;原创 2012-10-19 15:20:56 · 4748 阅读 · 1 评论 -
SDL入门及范例
SDL由:Audio, CDROM, Event Handling, File I/O, Joystick Handling, Threading, Timers and Video八个子系统组成。使用前先:SDL_Init() or SDL_InitSubSystem()ex:SDL_Init ( SDL_INIT_VIDEO | SDL_INIT_TIMER );SDL_Quit原创 2012-10-19 15:24:09 · 823 阅读 · 0 评论 -
GDB问题汇总
gdb交叉编译:./configure --prefix=/home/sf6/jieen/tmp/gdb_build_mipsel --host=mipsel-linux --target=mipsel-linux CC=mipsel-linux-gcc./configure --prefix=/home/sf6/jieen/tmp/gdb_build_mipsel --host=mip原创 2012-10-19 15:42:59 · 3937 阅读 · 0 评论 -
基于linux的数字电视机顶盒几种升级方式的设计与实现
<!--@page {margin:0.79in}p {margin-bottom:0.08in; direction:ltr; color:#000000; text-align:justify; widows:0; orphans:0}p.western {font-family:"Calibri","Trebuchet MS",sans-serif原创 2012-10-21 21:31:22 · 10644 阅读 · 0 评论 -
CFE常用引导命令
1.nfs引导boot -z -elf y.y.y.y:vmlinuz-xxxx 'root=/dev/nfs nfsroot=y.y.y.y:/opt/nfsroot ip=dhcp rw'2.flash引导boot -z -elf flash0.mrskernel: 'ubi.mtd=mrs rootfstype=ubifs root=ubi0:rootfs rootflags=s原创 2012-10-22 10:03:06 · 10799 阅读 · 0 评论 -
热插拔脚本
热插拔脚本:#!/bin/sh# set to '1' to enable USB thumbdrive automountAUTOMOUNT=1AUTOMOUNT_POINT="/mnt/usb"AUTOMOUNT_FS="vfat"HOTPLUG_FW_DIR=/lib/firmware# userspace firmware loaderif [ "$1" =转载 2012-10-22 10:08:22 · 1816 阅读 · 0 评论 -
停在start kernel....问题分析
停在start kernel....问题分析:1. kernel的启动参数设置正确与否 ? 2. kernel的entry point是否正确,比如对于ARM,可能会使用0x30008000这个地址,uImage会在zImage前加0x40字节,因此,应该将uImage下载到内存的0x30007FC0(0x30008000 - 0x40)处 ;3. linux kernel有没有配转载 2012-10-22 10:09:52 · 4225 阅读 · 0 评论 -
CFE分区向内核传递
CFE分区向内核传递::在cfe的cfe/cfe/dev/Dev_nandflash.c的nanddrv_probe函数中//add for test if (lib_strcmp("fgdl1", nptr) == 0) { xsprintf(buffer,"%x",(softc->fd_parts[idx].原创 2012-10-22 10:11:48 · 1527 阅读 · 0 评论 -
snmp设置CM矫正功率
根据US_PwrCal的值做上行功率矫正,根据Ds_PwrCal的值做下行功率矫正上行矫正:1。进入CM工厂模式 snmpset -r 1 -t 3 -v 1 -c private 192.168.100.1 cdPvtMibEnableKeyValue.1 s password 参考返回值:BRCM-CABLEDATA-PRIVATE-MIB::cdPvtMibEnableKe原创 2012-10-19 15:46:45 · 2079 阅读 · 0 评论 -
sqlite插入数据时中文显示不出来
sqlite3 使用的是utf-8编码,所以在编码后,将c文件保存的时候保存为utf-8编码即可。重新编译解决原创 2012-10-19 15:40:10 · 3016 阅读 · 0 评论 -
封装了nand flash写函数
使用nandwrite的代码,封装为满足我们使用的代码 /* * nandwrite.c * * Copyright (C) 2000 Steven J. Hill ([email protected]) * 2003原创 2011-08-16 18:05:05 · 3146 阅读 · 0 评论 -
nand flash常用函数封装
nand flash的操作相当让人郁闷,其坏块和位反转都难以处理,最近对read,write,erase进行了封装,保留主要参数,保证了兼容性。 nand flash的操作主要读写以页为单位操作,另外,对于不同的平台,可能有些不支持long long数据类型,需要修改,原创 2011-08-30 11:46:52 · 1511 阅读 · 0 评论 -
ntfs移植到mips架构
目前U盘容量越来越大,移动硬盘一般也默认采用ntfs,所以我们的平台需要对ntfs做相关支持。下载ntfs源代码,解压 ./configure --host=mipsel-linux-gnu CC=mipsel-linux-gcc --prefix=/home/sf6/XXXX/Downloads/tmp/third/bin --exec-prefix=/home/sf6/luorenya原创 2012-01-16 16:04:50 · 1515 阅读 · 0 评论 -
编程器烧写NAND flash的一些说明
注意事项:1.大小端模式,也即在使用编程器时需不需要做字节反序2.Spare area处理方式,需要还是不需要,是否含有私有ECC算法。3.坏块处理方式。摘要一段说明如下:(虽然针对西尔特SUPERPRO/9000U的文章,但也对许多其他的适用)2.关于NAND FLASH技术以及烧录模式使用说明2. How Nand Devices are programmed on原创 2012-10-18 09:32:50 · 20461 阅读 · 1 评论 -
usb多分区自动挂载实现方式1(脚本方式,非完美)
首先,需要在启动的时候rcSmount -t usbfs none /proc/bus/usb在busybox的mdev选项选择热插拔支持 rcSecho "/sbin/stbhotplug" > /proc/sys/kernel/hotplugmdev -s最后,编辑stbhotplug文件加入自动挂载函数自动挂载函数如下:#! /bin/sh## Mou原创 2012-10-19 15:23:16 · 1703 阅读 · 0 评论 -
hotplug测试代码
#include #include #include #include #include #include #include #include #include #include static int init_hotplug_sock(void){ struct sockaddr_nl snl; const int buffersi原创 2012-10-19 15:24:53 · 742 阅读 · 0 评论 -
PPPOE协议简介(部分)
PPPOE(PPP over Ethernet)pppoe在标准PPP报文的前面加上以太网的报头。1.PPPOE帧格式DESTINATION_ADDR SOURCE_ADDR ETHER_TYPE PAYLOAD CHECKSUM 6 6 2 1PAYLOAD:VER原创 2012-10-19 15:26:00 · 5031 阅读 · 0 评论 -
嵌入式linux系统中的文件同步
如何让内存的数据及时同步到flash中???在启动参数中加入:rootflags=syncsetenv -p STARTUP "ecm 32 32; boot -z -elf flash0.kernel: 'ubi.mtd=mrs rootfstype=ubifs root=ubi0:rootfs rootflags=syncbmem=126944K@100M bmem=32800原创 2012-10-19 15:27:54 · 1537 阅读 · 0 评论 -
单网口多IP和多网口单IP的设定方法
单网口多IP:/etc/sysconfig/network-scripts新建一个ifcfg-eth0:1文件,内容如下:DEVICE="eth0:1"ONBOOT=yesTYPE=EthernetBOOTPROTO=staticIPADDR=10.0.14.187GATEWAY=10.0.0.1HWADDR=6C:62:6D:97:7F:9D当前目录下if原创 2012-10-19 15:31:38 · 6738 阅读 · 1 评论 -
单播,多播,广播的介绍
1.单播,多播,广播的介绍1.1.单播(unicast)单播是说,对特定的主机进行数据传送。例如给某一个主机发送IP数据包。这时候,数据链路层给出的数据头里面是非常具体的目的地址,对于以太网来说,就是网卡的MAC地址(不是FF-FF-FF-FF-FF-FF这样的地址)。现在的具有路由功能的主机应该可以将单播数据定向转发,而目的主机的网络接口则可以过滤掉和自己MAC地址不一致的数据。转载 2012-10-22 10:19:02 · 896 阅读 · 0 评论 -
kernel oops之后....
kernel错误之后的处理:1.首先复制Oops信息到指定文件中2.cat /proc/ksyms >ksyms (stb)3.symoops –k ksyms –no-system-map 4.Addresses that begin with 0xC are in your modules. Addresses that begin with 0x8 are in the ke原创 2012-10-22 10:47:07 · 720 阅读 · 0 评论 -
无线命令:iw 移植到mipsel上
由于之前iwconfig wlan0 mode ad-hoc的时候,发现错误:Error for wireless request "Set Mode" (8B06) : SET failed on device wlan0 ; Operation not supported.尝试使用更新的iw测试。准备工具:iw.tar.bz2: http://linuxwireless原创 2012-11-02 13:00:17 · 6844 阅读 · 3 评论 -
RT3070AP 部分翻译文档
bridge setup:/usr/bin/brctl addbr br0/usr/bin/brctl addif br0 eth0/usr/bin/brctl addif br0 ra0/sbin/ifconfig eth0 0.0.0.0/sbin/ifconfig ra0 0.0.0.0/sbin/ip link set br0 up/sbin/ip addr a翻译 2012-11-26 23:21:59 · 5280 阅读 · 0 评论 -
Wireless Networking in the Developing World (Second Edition)
Wireless Networking in the Developing World (Second Edition)Page1441.将无线AP通过Masquerading/NAT与有线连入internet(作为无线网关)2.将无线AP作为透明桥,桥接被用来做一个简单的AP或者两个无线设备的中继器。预准备工作:1.Wireless Tools (iwconfig,翻译 2012-11-26 23:19:43 · 1006 阅读 · 0 评论 -
broadcom Power Management
Power States博通定义了4个Power States(S0,S1,S2,S3)On(S0):(都被激活状态,全功耗)Display, decode, and record are all activeFull PowerActive Standby(S1): (未解码或显示,可以录制,数据处理可能会被破) No display or decode,翻译 2012-12-03 19:20:08 · 2754 阅读 · 0 评论 -
CC2530 Power Management
CC2530 Power Management五种功率管理模式:active mode; idle mode; PM1; PM2; and PM3.正常工作下,使用Active mode,PM3耗电量最低。Active mode: 全功能模式Idle mode: 除了CPU核停止之外与Active mode一样PM1: Voltage Regulator工作,低功率晶振翻译 2012-12-15 11:13:22 · 4201 阅读 · 0 评论 -
CC2530 USART 寄存器
USART 寄存器UxCSR: USART x 控制和状态UxUCR: USART x UART 控制UxGCR: USART x 通用控制UxDBUF: USART x 接收和传送数据缓冲UxBAUD: USART x 波特率控制U0CSR (0x86) – USART 0控制和状态位名称重置R/W原创 2012-12-15 11:17:27 · 9047 阅读 · 0 评论 -
物联网域名
物联网域名(Object identifier, OID,目标对象标识)是由ISO/IEC、ITU国际标准组织共同提出的标识机制,用于对任何类型的对象、概念或者“事物”进行全球无歧义、唯一命名。一旦命名,该名称终生有效。由于物联网域名具有分层灵活、可扩展性强等特点,适合作为现有各种编码方案之间进行交换的元标识机制。中国注册物联网域名的地址为:http://www.iotcrc.com/物联网域名注...原创 2018-02-08 14:25:52 · 2036 阅读 · 0 评论 -
yaffs2移植到ucos上
以前年搞过一次,将yaffs2移植到低版本的uboot上,刚好前段时间又有需求移植到ucos上,记录一下yaffs2移植专题: 使用的是2017-08-11更新的版本yaffs2-c1422c2.tar,路径:http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=snapshot;h=c1422c27f5f17c68acf261209292c74890...原创 2018-02-08 15:19:43 · 1236 阅读 · 1 评论 -
service XXX restart的执行流程
当我们执行service ssh restart时,做了些什么?/etc/rc.d/init.d/sshd代码如下#!/bin/shif [ ! -x /usr/sbin/sshd ]then exit 0fiif [ "$1" = "stop" -o "$1" = "restart" ]then echo "Stopping the ssh ser原创 2012-10-22 10:38:12 · 6427 阅读 · 0 评论 -
linux路由相关操作
显示现在所有路由#routeroot@ubuntu:~# routeKernel IP routing tableDestination Gateway Genmask Flags Metric Ref Use Iface10.147.9.0 * 255.255.255.0 U 1转载 2012-10-22 10:36:17 · 1076 阅读 · 0 评论 -
交叉编译ffmpeg
交叉编译ffmpeg ./configure --enable-cross-compile --cross-prefix=mipsel-linux- --arch=mips --target-os=linux --prefix=/home/sf6/jieen/myworks/third/ffmpeg/ff_mipselmake make install 提示: WARNIN原创 2012-10-21 21:38:24 · 10089 阅读 · 5 评论 -
UBIFS烧写部分笔记
flash_erase /dev/mtd0 0 0ubiformat /dev/mtd0 -f /root/ubi.img ubiattach /dev/ubi_ctrl -m 0 //将mtd0映射到ubi0_0mount -t ubifs ubi0_0 /mnt/fs/ubifs制作mkfs.ubifs -U -D misc/devtable.txt -r romfs原创 2012-10-22 10:00:45 · 2022 阅读 · 0 评论 -
flash空间不足及ramfs的使用
flash空间不够的情况下,我们可以将映像压缩后烧写,然后将其解压到内存中执行:1.ramfs方法,使用物理内存mount -t ramfs none /testRAM -o maxsize=2000 (创建了一个限定最大使用内存为2M的ramdisk) 2.tmpfs方法,使用物理内存和虚拟内存mkdir -p /mnt/tmpfs mount tmpfs /mnt/原创 2012-10-22 10:10:52 · 1281 阅读 · 0 评论 -
Udev详解
Udev详解udevlinux用户空间设备管理(Linux userspace device management),在kernel 2.6.13后被使用,动态提供了在系统中实际存在的设备节点。udev与不同的发布版本有很强的依赖性。一个系统如果没有安装正确的udev版本,有可能造成无法启动或者工作不正常。udev的开发团队也不推荐使用新版本替代系统当前版本的udev.随着udev转载 2012-10-22 10:18:14 · 17682 阅读 · 0 评论 -
为多用户安装VNC SERVER
安装VNC SERVER./vncinstall /usr/local/bin /usr/local/manmkdir -p /usr/local/vnc/classescp java/* /usr/local/vnc/classesmkdir /usr/X11R6/libcd /usr/X11R6/libln -s /usr/share/X11 X11vnc连接的时候原创 2012-10-22 10:24:11 · 1269 阅读 · 0 评论 -
我的FAQ(2012-5月之前部分)
memory echo 1 > /proc/sys/vm/overcommit_memory 软路由radvd#echo 1 > /proc/sys/net/ipv6/conf/all/forwarding#service radvd startlinux中"set -e"的作用 如果命令带非零值返回,立即退出,起到代码安全作用 模块加载不成功,提示版本问题:原创 2012-10-22 10:30:47 · 1269 阅读 · 0 评论 -
平台设备相关开发小结
平台设备虚拟总线,kernel-2.6之后产生,将设备本身资源注册进内核,有内核统一管理,便于移植:平台定义:platform_device平台驱动: platform_driver平台设备开发流程1. 定义platform_device2. 注册platform_device3. 定义platform_driver4. 注册platform_driver1.s原创 2012-10-22 09:59:33 · 630 阅读 · 0 评论