摘要:
在进行linux驱动开发之前,我们先来思考一下什么是linux驱动?我们在前面的文章中介绍过Mini2440裸机程序的开发,比如如何点亮LED、如何通过LCD显示图片。 但是如果我们开发板移植了linux内核之后,我还想点亮LED,那该怎么办呢? 由于我们编写的应用程序是无法和硬件直接打交道的,为此 阅读全文
摘要:
在某些情况下,如果我们没有Mini2440开发板,或者开发板某些硬件损坏了,这时候我们还要继续学习linux内核移植和驱动开发,我们应该怎么办,这里我们可以采用qemu搭建linux开发环境。 在之前的u-boot系列博客中我们已经介绍了u-boot的移植、以及linux内核移植、根文件系统制作。并 阅读全文
摘要:
什么是根文件系统?理论上说一个嵌入式设备如果内核能运行起来,且不需要用户进程的话(估计这种情况很少),是不需要文件系统的。文件系统简单的说就是一种目录结构,由于linux操作系统的设备在系统中是以文件的形式存在,将这些文件分类管理以及提供和内核交互的接口,就形成了一定的目录结构也就是文件系统。文件系 阅读全文
摘要:
在上一节我们已经介绍了u-boot启动linux内核的流程。这一节我们将对u-boot进行改造,使其支持linux-5.2.8版本内核启动。 linux kernel支持多种硬件,所谓内核移植概括的说,就是修改kernel中硬件相关的源码以适应自己的硬件。linux中硬件相关的代码主要集中在arch 阅读全文
摘要:
在前面的章节关于u-boot的源码,以及u-boot的移植这一块我们介绍完了。接下来,我们应该开始进入第二个阶段,linux内核移植,以及驱动开发。 但是在这之前,我们遗漏了u-boot中的一个重要环节没有介绍,就是u-boot如何执行bootm命令,如何实现linux内核启动。 我们在《Mini4 阅读全文
摘要:
本节的代码都是在Mini440之uboot移植之实践NAND启动(四) 代码基础上修改的。 一、修改默认环境变量 不知道你有没有留意到,uboot在启动时,串口输出信息有下面一行: U-Boot 2016.05 (Jan 14 2022 - 22:22:01 +0800) CPUID: 324400 阅读全文
摘要:
因为工作需要,项目以前使用的mysql数据,现在需要更改为postgresql。 一、MYSQL转PG 1.1 同步表结构 利用navicat:工具->数据传输直接将mysql库->postgresql库,变动: navicat转换后的sql,会丢失默认值 官网找到一个工具Mysql转Postgre 阅读全文
摘要:
在之前我们介绍过嵌入式Linux之Eclipse开发环境搭建,我们介绍了如何使用eclipse进行代码调试。这一节我们同样的我们介绍一下vs code在嵌入式linux平台下的代码调试。 我们首先回顾一下程序是如何被调试的? 如下图所示,使用GDB调试目标系统需要满足以下条件: 1.pc端得运行gd 阅读全文
摘要:
在之前的章节我们已经介绍了u-boot如何支持我们的NOR FLASH,以及DM9000网卡的支持。 这一节我们将会在Young / s3c2440_project[u-boot-2016.05-nor-flash】代码的基础上新建u-boot-2016.05-nand-flash项目,使得我们项目 阅读全文
摘要:
网络对于嵌入式系统来说必不可少。可是S3C2440没有集成以太网接口,所以要想使S3C2440具备以太网的功能,就必须扩展网卡接口。我们使用的Mini2440就是外接DM9000EP,使其可以与以太网相连接。DM9000和DM9000EP主要是封装不一样,其他基本都是一样的。 一、DM9000介绍 阅读全文