arm
文章平均质量分 85
嵇康
冷静,爱思考,爱读书
爱结识有共同爱好的人
与公司共成长。
展开
-
x210项目重新回顾之十七升级到linux4.19.114 +buildroot2018再讨论
代码参考他的是linux_4.10(dtb为 s5pv210-x210..dtb)我打算用linux4.19.114((dtb为 s5pv210-smdkv210.dtb)) ,所以修改build.sh。(在uboot来看sd卡为编号为1,uImage在1分区)mmcbootpart=1 //cbootpart我这里也放在1分区,里面有uImage,dtd。mmcrootpart=1 //rootfs我这里也放在1分区。mmcdev=1 //在uboot来看sd卡为编号为1。12 # sd卡设备文件。原创 2023-10-29 03:54:40 · 717 阅读 · 0 评论 -
x210项目重新回顾之十六rootfs再讨论
启动过后文件系统在mmcblk0p2中,添加文件重启保留。1)initrd作为rootfs及外部根文件系统。文件系统在内存中,添加文件重启后丢失。原创 2023-09-19 05:07:15 · 202 阅读 · 0 评论 -
移植韦东山老师真实项目到x210板之一UVC摄像头显示到LCD
虽然韦东山老师项目是jz440的,但是只要LCD的/dev/fd0 以及uvc摄像头/dev/video3(我的是3)的设备存在,应用就不要修改注意:这里是UVC摄像头,在内核里面已经有驱动(/drivers/media/video/uvc)所以usb摄像头一插上,就会系统自动找到对应uvc驱动,生成/dev/video3代码路径:https://github.com/jimingkang/news5pv210/tree/master/study/weidongshan/video2lcd具体细原创 2020-06-15 03:23:44 · 637 阅读 · 0 评论 -
x210回顾之二环境搭建
之前是在linux PC下开发,没什么问题,现在换到windows,遇到如下坑:1)虚拟机为64位,编译器不认识(/arm/arm-2009q3/bin)下的文件,解决方法:安装ia32-lib解决2)烧写时可以在虚拟机下进行,不过先得让虚拟机认识到sd卡,可以通过记载硬件方式处理,见这个链接https://www.htpcguides.com/how-to-use-sd-card-reader-in-vmplayer-and-vmworkstation/...原创 2020-05-11 06:18:40 · 141 阅读 · 0 评论 -
x210项目重新回顾之一环境搭建
距离上次朱老师开发板的x210学习又过了快两年了,现在重新回顾,有点忘了,慢慢回忆吧!1)x210_Fusing_Tool.exe(管理权限) 烧写 uboot.bin(九鼎网盘QTP目录下,我复制到我的网盘https://pan.baidu.com/s/4oGETOgU)2)注意SD卡是在sd2卡槽上启动后环境变量如下x210 # printenvbootcmd=movi read kernel 30008000; movi read rootfs 30B00000 300000; boo原创 2020-05-10 01:44:19 · 390 阅读 · 0 评论 -
STM32L476G-discover的串口HAL库移植
源码:https://github.com/jimingkang/STM32L476_BSPIDE里代码结构1)stm32l4xx_it.c 设置NVIC的串口中断处理程序extern UART_HandleTypeDef huart2;void USART2_IRQHandler(void){ /* USER CODE BEGIN USART2_IRQn 0 */...原创 2019-10-21 10:34:13 · 715 阅读 · 0 评论 -
STM32L476G_STLink_UART 虚拟串口(板上usb USER接口直接USB连接电脑)的移植
源代码:https://github.com/jimingkang/STM32L476_BSP在本地电脑C:\Users\jmmy\Downloads\raspi_STM\STM32L476G_STLink_UART_Debug\STM32L476G_STLink_UART_Debug这里采用裸机程序,没有借用库1.)main.czjie直接初始化,然后调用(UART2_Init,US...原创 2019-10-21 10:13:23 · 2530 阅读 · 0 评论 -
物理地址,物理内存,与io内存的区别
物理地址(RAM):cpu发出的地址物理内存(DRAM):只占物理地址一部分,由/proc/iomem可见,“System RAM” 就是物理内存的空间:io内存: 对外部设备寄存器(有的外部设备还有其内存)的编址方式,将物理地址(RAM)的一部分划出来用作IO地址空间。由上图可见,除了DRAM,其他空间有的被外设的寄存器占用。虚拟地址:现代操作系统普遍采用虚拟内存管理(Virtu原创 2015-04-20 05:53:55 · 3044 阅读 · 0 评论 -
simulate ( board vexpress_ca9x4) arm in qemu
qemu-system-arm -nographic -m 512M -M vexpress-a9 -kernel u-boot -sd /arm/tftboot/a9rootfs.ext3 -net nic,vlan=0,macaddr=52:54:00:12:34:22,addr=08 -net tap,ifname=tap1,script=no,downscript=no原创 2017-08-24 16:51:53 · 629 阅读 · 0 评论 -
(2)x210:change the physical meme addr to 30000000 in uboot
1) in smdkv210single.h//#define MEMORY_BASE_ADDRESS 0x20000000#define MEMORY_BASE_ADDRESS 0x30000000#if defined(CONFIG_MCP_SINGLE)//jimmy comment #define DMC0_MEMCONFIG_0 0x20E0原创 2017-09-20 17:16:51 · 266 阅读 · 0 评论 -
(1)x210:uboot+s5pv210 env
dm9000 ref: http://blog.chinaunix.net/uid-21973366-id-4094535.htmlenv: android_uboot_smdkv210.tar.bz2 +arm-2009q31)tar -zxvf android_uboot_smdkv210.tar.bz22)cd /arm/samsung-dev-uboot3)m原创 2017-09-15 16:51:57 · 442 阅读 · 0 评论 -
(3)x210: fix the no output problem at "Starting kernel..."
the problem root cause is for the uart , in /arm/samsung-dev-uboot/include/configs/ smdkx210single.h we have"#define CONFIG_SERIAL3 1 so we need set uart port to 2 in uboot arg原创 2017-09-22 10:08:10 · 311 阅读 · 0 评论 -
(4)x210: 2.4之前的字符驱动
1 chardev.c#include #include #include #include #define MYMAJOR 200#define MYNAME "chardev"static int test_chardev_open(struct inode *inode,struct file *file){printk(KERN_INFO "te原创 2017-10-10 11:32:18 · 237 阅读 · 0 评论 -
(5)x210:2.4之前的字符驱动-动态获得mymajor主设备号
#include #include #include #include #define MYMAJOR 200#define MYNAME "chardev"int mymajor ;static int test_chardev_open(struct inode *inode,struct file *file){printk(KERN_INFO "test原创 2017-10-10 15:06:44 · 371 阅读 · 0 评论 -
(6)2.4之前的字符驱动-用devfs_register自动生成设备文件(可能在2.6linux目录树下编译不了)
#include #include #include #include #include #include #define MYMAJOR 200#define MYNAME "chardev"int mymajor ; devfs_handle_t devfs_handle;static int test_chardev_open(struct ino原创 2017-10-10 15:49:55 · 444 阅读 · 0 评论 -
(10)x210: linux2.6之后的字符驱动
#include // module_init module_exit#include // __init __exit#include #include #include #include // arch/arm/mach-s5pv210/include/mach/gpio-bank.h#include #原创 2017-10-10 16:33:44 · 277 阅读 · 0 评论 -
(7)x210:2.4之前的驱动--memdev模拟驱动-涉及阻塞
#ifndef __KERNEL__#define __KERNEL__#endif#ifndef MODULE#define MODULE#endif//#include #include #include #include #include #include #include #include原创 2017-10-13 17:25:59 · 328 阅读 · 0 评论 -
ROS之一sunfounder下搭建ROS机器人操作系统及测试subscriber消息调用
参考:https://blog.csdn.net/kristpan/article/details/45565813不过在安装libconsole-bridge-dev:不成功于是降级安装kinetichttp://wiki.ros.org/ROSberryPi/Installing%20ROS%20Kinetic%20on%20the%20Raspberry%20Pi ...原创 2019-02-13 04:45:47 · 254 阅读 · 0 评论 -
ROS之三sunfounder智能小车驱动马达(holl effect feedback)
please refer to:https://raspberrypi.stackexchange.com/questions/14105/how-does-python-gpio-bouncetime-parameter-work#!/usr/bin/env pythonimport RPi.GPIO as GPIOimport motorfrom socket import *...原创 2019-02-13 05:14:01 · 490 阅读 · 0 评论 -
s3c2440 s3c6410和s5pv210启动过程区别
参考https://www.cnblogs.com/gary-guo/p/5738799.html以下都以nandflash为例A)s3c24401) IROM 无(只考虑nandflash启动)2)IRAM(就是BootSRAM),4K3)内存SDRAM 0x3000 0000以下为2440的mem map,左边表示我们选择从Nor flash启动时,地址的布局,右边表示...转载 2019-10-04 08:33:55 · 345 阅读 · 0 评论 -
对 u-boou1.1.6的do_go修改(最好不动)
common/cmd_boot.cint do_go (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]){ ulong addr, rc; int rcode = 0; if (argc printf ("Usage:\n%s\n"原创 2012-09-06 17:26:25 · 1590 阅读 · 0 评论 -
新版jz2440移植之烧写文件系统
nand erase root;tftp 30000000 fs_qtopia.yaffs2;nand write.yaffs 30000000 0x00260000 $(filesize)原创 2014-09-03 23:05:06 · 1939 阅读 · 0 评论 -
新版jz2440之二:对比patch修改的文件
修改的linux-2.6.22.6的内核文件:patching file arch/arm/configs/s3c2410_defconfigpatching file arch/arm/kernel/kgdb.cpatching file arch/arm/kernel/kgdb-jmp.Spatching file arch/arm/kernel/Makefilepatch原创 2014-09-08 11:40:28 · 1616 阅读 · 0 评论 -
移植uboot-1.1.6到勤研2440之二移植支持Nand Flash(和精智2440接近,仿照100ask24x0_config配置,重现韦东山的uboot-1.1.6_patch过程)
支持NAND Flash首先在配置文件include/configs/myjz2440.h的宏CONFIG_COMMANDS中增加:#define CFG_CMD_NAND 1 (大概在82行)编译,出现nand.c的错误和警告解决:在include/configs/myjz2440.h的最后面增加3个宏:/*NAND flash settings*/#define CFG原创 2013-07-26 16:30:32 · 2439 阅读 · 0 评论 -
cs8900移植到linux2.6.32.2(注意make clean后可能会被清除所做的修改)
1.将准备好的cs8900.c/cs8900.h两个文件复制到drivers/net/arm目录下2.在include/net/目录下创建文件smdk2410.h,并添加如下代码: #define pSMDK2410_ETH_IO __phys_to_pfn(0x19000000) #define vSMDK2410_ETH_IO 0xE0000原创 2012-09-11 15:56:26 · 1367 阅读 · 0 评论 -
编译制作(arm格式的)jffs2文件系统工具(mtd-snapshot-20050519.tar.bz2)
1.首先安装zlib-1.2.3.tar.gz从网上下载zlib-1.2.3.tar.gz 解压缩 $ cd zlib-1.2.3$ ./configure --prefix=/usr/local/arm/3.4.1/arm-linux --shared修改Makefile如下:CC=arm-linux-gcc(注意这里是给开发板上启动操作系统后在开发板上用,所以用交叉链编译)原创 2012-12-03 11:28:52 · 2663 阅读 · 0 评论 -
常用的uboot的bootargs设置
说完常见的几种bootargs,那么我们来讨论平常我经常使用的几种组合:1). 假设文件系统是ramdisk,且直接就在内存中,bootargs的设置应该如下:setenv bootargs ‘initrd=0x32000000,0xa00000 root=/dev/ram0 console=ttySAC0 mem=64M init=/linuxrc’2). 假设文件系统是ramd转载 2012-09-11 15:59:04 · 20508 阅读 · 0 评论 -
添加CS8900到linux3
参考: http://www.embedu.org/Column/Column382.htmLinux-3.0之CS8900网卡驱动移植作者:于连庆,华清远见嵌入式学院讲师。将CS8900网卡驱动移植到Linux-3.0上,具体操作步骤如下:第一步:打开arch/arm/plat-samsung/include/plat/map-base.h,找到 #d原创 2012-09-07 19:19:00 · 517 阅读 · 0 评论 -
编译linux2.6.32以适合s3c2410的NandFlash(64M)
源码从friendlyArm网站下来:linux-2.6.32.2-mini2440-20110413.tar(内含s3c2410_defconfig)编译参考:http://bbs.ednchina.com/BLOG_ARTICLE_261688.HTM同时参考:http://blog.163.com/jant126@126/blog/static/1200836620079111024原创 2012-08-31 15:32:22 · 1214 阅读 · 0 评论 -
linux2.4的button的驱动
注意2.4与2.6的不同:——————————————————————————————————————————————————————#include #include #include #include #include #include #include #include #include #include #include #include原创 2012-08-20 17:42:03 · 657 阅读 · 0 评论 -
linux2.4与2.6的驱动比较
参考:http://bbs.ednchina.com/BLOG_ARTICLE_2039085.HTMhttp://blog.csdn.net/cainiao413/archive/2011/01/05/6118706.aspx,2.4内核注册驱动要用:只是注册设备号:int register_chrdev (unsigned int major(若为零,表示动态分配), cons转载 2012-08-20 17:50:33 · 612 阅读 · 0 评论 -
s3c44B0的启动代码44b0init.S的中断分析
问题一:什么是向量式中断处理和非向量式中断处理解答:向量式中断处理是有硬件判断优先级,这个硬件逻辑提供矢量表的一条跳转指令放到0x1C或0x18,这个地址提供了相应服务程序的跳转指令。;中断向量表VECTOR_BRANCH ldr pc,=HandlerEINT0 ;mGA 0x20 ldr pc,=HandlerEINT1 ;原创 2012-08-17 11:33:40 · 912 阅读 · 0 评论 -
最新内核(linux2.6.32)+文件系统(nfs)的编译
开发板:s3c2410各种工具版本:busybox:busybox-1.13.3(从http://www.arm9.net/download.asp下载busybox-1.13.3-mini2440.tar解压)linux:linux-2.6.32.2(从http://www.arm9.net/download.asp下载linux-2.6.32.2-mini2440-201104原创 2012-12-09 16:18:23 · 1118 阅读 · 0 评论 -
最新的我的友善之臂s3c2410开发板的uboot及内核制作过程
(修改文件见资源文件uboot_116-linux2.6.32.7z)环境:arm-linux-gcc4.3.2 目录 /home/jimmy/usr/local/arm/4.3.2/bin/arm-linux-gcc u-boot_1.1.6 目录 /home/jimmy/u-boot-1.1.6 lin原创 2012-09-11 17:13:21 · 2913 阅读 · 0 评论 -
在redhat端(宿主机端)制作jffs2文件系统
网上有关于直接在开发板上制作文件系统的,http://linux.chinaunix.net/techdoc/system/2009/06/08/1117491.shtml而我这里讲的是在宿主机上制作jffs2文件系统(当然是用gcc,而不是arm-linux-gcc了)参考:http://blog.chinaunix.net/uid-23208702-id-353022.原创 2012-12-03 11:12:36 · 911 阅读 · 0 评论 -
移植uboot-1.1.6到勤研2440(和精智2440接近,仿照100ask24x0_config配置,重现韦东山的uboot-1.1.6_patch过程)
开发板:勤研2440开发环境:ubantu9.0(韦东山一期光盘)linux版本:linux-2.6.22.6 (/work/system/linux-2.6.22.6)补丁:linux-2.6.22.6_jz2440.patchu-boot:uboot-1.1.6 补丁:u-boot-1.1.6_jz2440.patch 自己的u-boot目录/work/system/u-原创 2013-07-26 09:59:47 · 6363 阅读 · 0 评论 -
把YUYV转化为jpg格式(改进v4l2的应用程序编写)
参见:linux下usb摄像头采集的YUYV格式转换成JPEG格式的图片只是最后图像不清晰,尚不清楚原因1.要用jpeg库编译,所以要先编译jpegsrc.v6b.tar.gz,$ cd jpeg-6b $ ./configure --prefix=/work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux $ make $ ma原创 2013-01-17 11:06:36 · 7475 阅读 · 0 评论 -
qtopia/embed编译
路径:/work/GUI/qtopia/qtopia-free-2.2.0qtopia是在qt/embedded的基础上开发的一个应用环境,相当于qt/embedded的集成开发环境1.前期准备:①编译、安装jpeg库源码为/work/GUI/qtopia/deps/jpegsrc.v6b.tar.gz,解开后得到目录jpeg-6b。先使用以下命令进行配置:$原创 2013-01-12 13:31:57 · 1078 阅读 · 0 评论 -
ramdisk制作
>mkdir ramdiskfs>mkdir bin sbin lib etc proc sys dev usr mnt tmp var>mkdir usr/bin usr/sbin lib/modules usr/lib》cd dev> mknod -m 666 console c 5 1> mknod -m 666 null c 1 3> mknod -m 66原创 2012-12-09 17:28:29 · 859 阅读 · 0 评论 -
解决 unrecognized/unsupported machine ID 问题(改用bootm启动)
必须用bootm 30008000,因为为go 不能传参而bootm 又必须UIamge所以:mkimage -A arm -O linux -T kernel -C none -a 30008000 -e 30008040 -n linux-2.6.32.2 -d zImage uImage原创 2012-09-06 19:01:00 · 1443 阅读 · 0 评论