摘要: 上节S3C2440移植uboot之支持NAND启动修改了代码支持了NAND启动。这节我们分析uboo使其支持NORFLASH的操作。 1.分析启动错误 上一节启动uboot出现如下所示,我们搜索下错误代码Flash: 上面的Flash: *** failed *** 是属于uboot第二阶段函数bo 阅读全文
posted @ 2020-12-26 16:48 学习,积累,成长 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 上一节我们移植了uboot,S3C2440移植uboot之支持NORFLASH。这节我们继续移植,支持NANDFLASH。 编译报错 之前由于nand部分报错,直接注释了 u-boot- 2012.04.01\include\configs\smdk2440.h 中的#define CONFIG_C 阅读全文
posted @ 2020-12-26 16:48 学习,积累,成长 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 上一节S3C2440移植uboot之支持NANDFLASH操作移植了uboot 支持了NANDFLASH的操作,这一节修改uboot支持DM9000。 通过Makefile把dm9000x编译进uboot cd drivers/net vi Makefile 需要在文件中添加以下宏 在smdk244 阅读全文
posted @ 2020-12-26 16:47 学习,积累,成长 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 上一节S3C2440移植uboot之支持DM9000移植uboot支持了网卡驱动,这节裁剪和修改uboot默认参数 uboot的环境参数 首先,uboot会去校验(CRC)存放环境变量的一段空间 ,若CRC有效则使用该空间里的环境变量,无效则用默认的环境变量. 而我们移植的uboot,由于一直没有使 阅读全文
posted @ 2020-12-26 16:44 学习,积累,成长 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 上一节S3C2440移植uboot之裁剪和修改默认参数裁剪了uboot,修改了默认的参数,这一节开始制作yaffs映像以及补丁文件 烧写文件系统 尝试使用如下命令烧写JFFS2文件系统 tftp 30000000 fs_mini_mdev.jffs2 nand erase.part rootfs n 阅读全文
posted @ 2020-12-26 16:41 学习,积累,成长 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 提示错误: arm-linux-gcc:Command not found PATH里有/usr/oca/arm/bin,但是make的时候,就是找不到 arm-linux-gcc 原因: export PATH=$PATH:/usr/local/arm/bin是设置当前用户的PATH,而sudo执 阅读全文
posted @ 2020-12-26 16:36 学习,积累,成长 阅读(779) 评论(0) 推荐(0) 编辑
摘要: 方法一: 我们都知道Ubuntu有一个专门用来安装软件的工具apt,我们可以用它来全自动安装arm-linux-gcc。 此方法安装的是最新版的,但是此方法需要FQ,否则99%会失败,这就是为什么网上大多都用压缩包安装的原因: 首先Ctrl+Alt+T弹出终端,使用如下命令进行arm-linux-g 阅读全文
posted @ 2020-12-26 16:31 学习,积累,成长 阅读(2178) 评论(0) 推荐(0) 编辑
摘要: 中文的windows下的cmd默认使用GBK的编码,敲代码时,页面使用的是UTF-8(65001),而powershell控制台默认使用的是GBK编码(936),用chcp命令可以查看。乱码主要是由于编码格式不同造成的。下面介绍两种方法x解决乱码问题: 方法一、chcp命令 每次需要的时候在VSco 阅读全文
posted @ 2020-12-26 16:30 学习,积累,成长 阅读(363) 评论(0) 推荐(0) 编辑
摘要: 字符串相关 1.char *gets(char *s); #include<stdio.h> 功能: 从标准输入读入字符,并保存到s指定的内存空间,直到出现换行符或读到文件结尾为止 参数: s:字符串首地址 返回值: 成功:读入的字符串 失败:NULL gets(str)与scanf(“%s”,st 阅读全文
posted @ 2020-12-26 16:29 学习,积累,成长 阅读(920) 评论(0) 推荐(0) 编辑
摘要: open 函数定义: int open( const char * pathname, int flags); int open( const char * pathname,int flags, mode_t mode); 参数说明: pathname :文件的名称,可以包含(绝对和相对)路径 f 阅读全文
posted @ 2020-12-26 16:15 学习,积累,成长 阅读(468) 评论(0) 推荐(0) 编辑
摘要: Linux一切皆文件,系统与设备通信之前,要建立一个存放在/dev目录下的设备文件,默认情况下就已经生成了很多设备文件,有时候自己手动新建一些设备文件,这就会用到mknod。 语法格式:mknod[选项][文件名称] [文件类型] [主设备号] [次设备号] 常用参数: -Z 设置安全的上下文 -m 阅读全文
posted @ 2020-12-26 16:14 学习,积累,成长 阅读(923) 评论(0) 推荐(0) 编辑
摘要: @ 中断上半部、下半部的概念 设备的中断会打断内核进程中的正常调度和运行,系统对更高吞吐率的追求势必要求中断服务程序尽量短小精悍。但是,这个良好的愿望往往与现实并不吻合。在大多数真实的系统中,当中断到来时,要完成的工作往往并不会是短小的,它可能要进行较大量的耗时处理。 下图描述了Linux内核的中断 阅读全文
posted @ 2020-12-26 16:12 学习,积累,成长 阅读(488) 评论(0) 推荐(0) 编辑
摘要: @ 阻塞/非阻塞简介 阻塞操作是指在执行设备操作时,若不能获得资源,则挂起进程直到满足可操作的条件后再进行操作。被挂起的进程进入睡眠状态,被从调度器的运行队列移走,直到等待的条件被满足。而非阻塞操作的进程在不能进行设备操作时,并不挂起,它要么放弃,要么不停地查询,直至可以进行操作为止。 阻塞/非阻塞 阅读全文
posted @ 2020-12-26 16:04 学习,积累,成长 阅读(423) 评论(0) 推荐(0) 编辑
摘要: @目录内核中的并发和竞争简介原子操作原子操作简介整型原子操作函数位原子操作函数原子操作例程自旋锁自旋锁简介自旋锁操作函数自旋锁例程读写自旋锁读写锁例程顺序锁顺序锁操作函数自旋锁使用注意事项信号量信号量简介信号量操作函数信号量例程互斥体互斥体简介互斥体操作函数互斥体例程互斥体与自旋锁互斥体使用注意事项 阅读全文
posted @ 2020-12-26 15:53 学习,积累,成长 阅读(487) 评论(0) 推荐(0) 编辑