自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Mculover666的博客(嵌入式)

微信公众号mculover666,专注于嵌入式领域

原创 uboot研读笔记 | 08 - 移植uboot 2012.04到JZ2440(设置mtd分区表)

1. mtd分区规划及其作用 uboot支持各种设备之后,接下来的工作就是烧写内核、烧写文件系统,所以需要对整块Nand Flash的空间作以规划,大致分为以下四个空间即可: bootloader空间 内核参数空间 内核空间 文件系统空间 但是目前我们仅知道uboot.bin被裁剪到了217K...

2020-02-29 11:58:31 1339 0

原创 uboot研读笔记 | 07 - 移植uboot 2012.04到JZ2440(裁剪uboot大小)

1. 裁剪方法 目前一步一步移植完成的uboot.bin文件有327KB,太大了,可以进行一定的裁剪,将用不到的代码不加入编译,减小uboot.bin文件的大小。 裁剪方法非常简单:修改单板配置文件include/configs/smdk2440.h,去除不必要的宏定义。 2. 裁剪过程 去除US...

2020-02-28 21:42:15 1312 0

原创 uboot研读笔记 | 06 - 移植uboot 2012.04到JZ2440(支持DM9000C网卡)

1. JZ2440开发板上的网卡 JZ2440开发板板载DM9000C网卡,原理图如图: 2. 添加uboot中已有的驱动文件到工程中 2.1. 添加宏定义 uboot自带的驱动文件夹中已经包含有DM9000的文件: drivers/net/dm9000x.c drivers/net/dm90...

2020-02-28 09:21:08 364 0

原创 uboot研读笔记 | 05 - 移植uboot 2012.04到JZ2440(支持Nand Flash读写)

在支持Nand Flash操作之前,首先要对Nand Flash的读写方法有一定的了解,参考文章: S3C2440-裸机篇-10 | 使用S3C2440操作Nand Flash 1. 去除nand flash屏蔽 在之前初步移植uboot时,发现开启nand flash之后编译不通过,所以屏蔽...

2020-02-27 19:01:37 425 0

原创 S3C2440-裸机篇-10 | 使用S3C2440操作Nand Flash

1. Nor Flash与Nand Flash Nor Nand 接口 引脚多,类似于RAM 引脚较少 容量 小(1-32MB) 大(128-512MB) 读操作 简单,和RAM相同 简单,和RAM相同 写操作 发出特定命令才能写入 发出特定命令才能写入 价格 贵...

2020-02-27 10:37:49 272 2

原创 VScode和SourceInsight,到底哪个看源码爽?

在做嵌入式Linux开发的时候,经常会阅读大型工程源码,比如uboot源代码,Linux Kernel源码等,所以,选择一个合适的工具来阅读源代码,变为了一个经久不衰的话题。 阅读源码的时候,其实无非也就两个重要的功能: ① 定义或者声明快速跳转 ② 快速搜索指定内容 另外还有一些功能是和开发...

2020-02-26 19:31:08 6490 6

原创 uboot研读笔记 | 04 - 移植uboot 2012.04到JZ2440(支持Nor Flash读写)

向jcedc信息库中添加JZ2440开发板板载Nor Flash的支持,使uboot支持该款Flash

2020-02-26 11:42:14 1402 0

原创 uboot研读笔记 | 03 - 初步移植uboot 2012.04到JZ2440(修改时钟,配置串口)

1.新建单板 ① 新建单板目录,复制已有相似的目录即可(在board/厂家型号之下) ② 新建单板配置文件,复制相似即可(在include/configs/目录下) ③添加单板配置文件 修改根目录下boards.cfg文件,在其中按照规定的格式添加单板配置文件,格式如下: Targ...

2020-02-25 14:00:31 435 0

原创 uboot研读笔记 | 02 - 详细探索uboot启动过程(基于S3C2410处理器)

1. 启动流程分析方法 uboot的文件太多了,要从文件着手学习是非常困难的,最好的办法是: 选择一款已经默认支持的处理器,然后去研究针对该款处理器的启动过程,以及使用到了哪些问文件,重点掌握需要自己修改哪些文件即可。 这里我选择和开发板S3C2440近似的一款已有处理器:S3C2410,然后研读...

2020-02-24 20:27:02 602 0

原创 uboot研读笔记 | 01 - 下载uboot源码并使用VSCode远程查看源码、编译uboot(2012.04.01版本)

1. 硬件准备 俗话说,纸上得来终觉浅,绝知此事要躬行。 要想真正的搞懂uboot,不能只靠查看源码,要准备一块实际可以跑Linux的板子,并且一定要有别人移植好的uboot作为参考。 这里我使用的是JZ2440开发板,处理器是三星的S3C2440,CPU是ARM920T,如图。因为这款处理器移植...

2020-02-21 21:03:42 1023 0

原创 uboot研读笔记 | 00 - 嵌入式Linux系统中Bootloader的作用和基本运行原理

1. 嵌入式Linux系统开发架构 一个嵌入式Linux的系统的架构如下图: 软件程序开发中,从下往上每一次的作用依次为: Bootloader:将硬件初始化,并将内核引导起来; Linux Kernel:定制、裁剪之后的Linux内核; 根文件系统:提供文件系统,更好的使用存储空间; 设备驱...

2020-02-21 21:03:31 738 0

原创 RT-Thread Studio 项目实战教程 | 快速打造一个桌面mini网络时钟

1. RT-Thread Studio RT-Thread Studio 是一站式的 RT-Thread 开发工具,通过简单易用的图形化配置系统以及丰富的软件包和组件资源,让物联网开发变得简单和高效。 RT-Thread主要包括工程创建和管理,代码编辑,SDK管理,RT-Thread配置,构建配...

2020-02-21 15:35:39 3737 4

原创 使用RT-Thread Studio DIY 迷你桌面时钟(五)| 使用内置 Git 插件管理项目

1. 项目进度 桌面Mini时钟项目用来演示如何使用RT-Thread Stduio开发项目,整个项目的架构如下: 在前四篇博文中简单的介绍了RT-Thread Studio一站式工具,基于STM32L431RCT6这个芯片创建工程,并修改时钟为使用外部时钟,以及添加SHT3x软件包获取温湿度传...

2020-02-21 15:01:36 2148 0

原创 使用RT-Thread Studio DIY 迷你桌面时钟(四)| OLED显示时钟和温湿度(cpp组件 + u8g2软件包)

1. 项目进度 桌面Mini时钟项目用来演示如何使用RT-Thread Stduio开发项目,整个项目的架构如下: 在前三篇博文中简单的介绍了RT-Thread Studio一站式工具,基于STM32L431RCT6这个芯片创建工程,并修改时钟为使用外部时钟,以及添加SHT3x软件包获取温湿度传...

2020-02-21 14:26:55 2934 3

原创 使用RT-Thread Studio DIY 迷你桌面时钟(三)| 获取NTP时间(at_device软件包 + netutils软件包)

1. 项目进度 桌面Mini时钟项目用来演示如何使用RT-Thread Stduio开发项目,整个项目的架构如下: 在上一篇博文中简单的介绍了RT-Thread Studio一站式工具,基于STM32L431RCT6这个芯片创建工程,并修改时钟为使用外部时钟。 使用RT-Thread Stud...

2020-02-20 21:56:39 4168 1

原创 使用RT-Thread Studio DIY 迷你桌面时钟(二)| 获取温湿度传感器数据(I2C设备驱动+SHT3x软件包)
原力计划

1. 项目进度 桌面Mini时钟项目用来演示如何使用RT-Thread Stduio开发项目,整个项目的架构如下: 在上一篇博文中简单的介绍了RT-Thread Studio一站式工具,基于STM32L431RCT6这个芯片创建工程,并修改时钟为使用外部时钟。 使用RT-Thread Stud...

2020-02-20 20:59:59 2127 4

原创 使用RT-Thread Studio DIY 迷你桌面时钟(一)| 基于STM32芯片创建HelloWorld工程

1. RT-Thread Studio RT-Thread Studio 是一站式的 RT-Thread 开发工具,通过简单易用的图形化配置系统以及丰富的软件包和组件资源,让物联网开发变得简单和高效。 RT-Thread主要包括工程创建和管理,代码编辑,SDK管理,RT-Thread配置,构建配...

2020-02-20 20:53:24 3253 8

原创 Java基础_20 |JavaSE基础教程汇总 + 高清无水印思维导图分享

00 | Java语言概述 + 学习路线 01 | Java开发环境搭建(Windows环境配置、Linux环境配置、IDEA配置) 02 | HelloWorld程序带你入门Java 03 | Java SE基础语法(命名规约,变量定义机制,基本数据类型,常量,运算符,流程控制) 04 | 正式...

2020-02-19 10:26:30 292 0

原创 Java基础_19 | 综合练手小项目 —— Java多线程网络聊天室(附源码)

1. 说明 此项目使用到的Java基础知识: Java网络通信 Java多线程 Java输入输出流 Java AWT 图形用户界面绘制 每个知识点参考教程: Java基础_18 | Java中网络通信程序的设计(url爬虫,TCP/UDP socket程序,socket文件传输程序) Jav...

2020-02-18 20:49:44 584 0

原创 Java基础_18 | Java中网络通信程序的设计(url爬虫,TCP/UDP socket程序,socket文件传输程序)

1. Java中的网络通信程序包 Java提供网络通信功能的包是java.net包,提供的网络功能有三大类: URL是三大功能中最高级的一种,通过URL Java程序可以直接送出或读入网络上的数据; Socket是传统网络程序最常用的方式,可以想象为两个不同的程序通过网络的通信信道; Datag...

2020-02-18 18:04:22 369 0

原创 Java基础_17 | Java多线程程序设计(Java中两种创建线程的方法、多线程之间的同步和互斥)

1. 多线程实现最核心的机制 一个程序在其执行过程中, 可以产生多个线程, 形成多条执行线索。,每条线程,有产生、存在和消亡的过程,并且独立完成各自的功能,互不干扰。 多线程程序运行只占用一个CPU,使用“时间片轮转法”运行程序,如图: 2. Java中的多线程实现 Java应用程序总是从主类的...

2020-02-18 10:53:18 231 0

原创 Java基础_16 | Java中的输入输出系统(字节流、字符流)

1. Java中的I/O流(input/output) Java的输入输出是以流(stream)的方式进行处理的,流是在计算机的输入、输出操作中流动的数据序列。 在Java中,流的分类主要按照流的数据单位分: 字节流(Byte Streams): 用于向字节流读写8位二进制的字节,主要用于读写诸...

2020-02-17 14:40:08 317 0

原创 Java基础_15 | Java中的图形用户界面包AWT使用详解

1. Java中的AWT包 在Java中, AWT(Abstract Window Toolkit)是用来处理图形最基本的方式,它可以用来创建Java的图形用户界面程序, AWT包提供: 图形界面组件:如:窗口、按钮、菜单等 容器 :是GUI元素的容器,实现组件管理、布局管理 布局管理器:用来安...

2020-02-16 12:12:13 435 0

原创 Java基础_14 | Java中的异常处理机制详解

1. Java中的异常处理机制 什么是异常 异常是指程序运行中发生的非正常现象,比如: 数组访问越界 除数为0 网络中断 文件不存在 …… 为什么需要异常处理 上述非正常现象在程序运行中不可避免,所以异常处理机制使得程序更加健壮,可靠。 Java中可以捕获那些异常 Java将异常分为Excep...

2020-02-15 17:25:03 935 0

原创 做一台STM32小车需要学些什么?

今天的分享来源于我在ac乎上回答的一个问题: 我觉得这个问题挺有意思的, 都是拉电话线的专业,都是在学习STM32,都对小车感兴趣,那就让我这个通信老狗来谈谈自己的见解~ 下面正文开始~ 做一个stm32小车,说难也难,说简单也简单哈哈哈~ 四轮车 做车最简单的就是4个轮子这种,生下来就是平衡的...

2020-02-15 11:35:49 2774 0

原创 Java基础_13 | Java中包的概念和使用详解

1.为什么需要包 默认情况下编译一个.java文件,编译之后该文件中的每个类都会生成一个<类名>.class文件,我们可以直接通过类名找到这个类,比如: class A { public void fun() { System.out.println("Hello&q...

2020-02-14 12:02:54 269 0

原创 Java基础_12 | 抽象类和接口

1.抽象类和抽象方法 1.1.为什么需要抽象类 Java中使用抽象类是为了更好的对类进行分类。 抽象类通常用来作为一个类族最顶层的父类,表示该类族所有事物的共性,用底层的类表示具体事物,比如在现实生活中有苹果类、西瓜类等等,这些具体的类都可以抽象为“水果类”。 1.2.语法规则 抽象类是专门设...

2020-02-14 12:01:22 236 0

原创 Java基础_11 | 面向对象特性之三 —— 多态(多态的语法规则、多态的实际用途、多态的注意事项)

1.多态的语法规则 多态是面对对象编程思想中的第三大特性,用通俗的话来解释,多态其实就是: 同样的一段代码可以实现不同的功能。 用专业的话来解释多态: 一个父类的引用类型变量它既可以指向父类对象,也可以指向子类对象(子类的引用类型变量不能指向父类),它可以根据当前时刻指向对象的...

2020-02-14 12:00:02 208 0

原创 Java基础_10 | this指针详解

1.this指针及其两种用法 this指针是一个系统隐含的指针,它被自动附加在非静态成员方法的参数列表中,当一个对象调用该非静态成员方法时,this会自动指向该对象,所以在函数内部就可以通过this访问该对象的成员。 this指针的两种用法如下: 在普通方法中,this指针指向该方法的调...

2020-02-14 11:58:49 225 0

原创 Java基础_09 | 子类中对父类已有方法的重写(重写的语法规则、重写与重载的区别、重写的示例程序)

1.重写的语法规则 1.1.为什么需要重写 一个子类在继承父类方法的时候,如果继承的父类方法不能满足新的要求,这个时候就需要对父类的方法进行重写,重新设计该方法。 1.2.重写的语法规则 方法名要相同; 参数列表要相同; 返回值类型要相同; 访问权限只能同级或者扩大,不能缩小; ...

2020-02-14 11:57:06 197 0

原创 Java基础_08 | 面向对象三大特性之二 ——继承(关键字extends的使用、继承的原则、(同包)继承的权限问题、使用super调用父类构造方法)

1.继承的基本语法 1.1.什么叫继承 继承是面向对象语言中一种由已有类创建新类的机制,即: 一个新的类可以从已有的类获取其已有的属性和方法。 这个新的类称为子类,也叫派生类; 已有的那个类称为父类,也叫基类; 比如下图: 1.2.为什么需要继承 代码得到极大的重用...

2020-02-14 11:55:25 181 0

原创 Java基础_07 | static修饰符详解(统计出一个类总共产生了多少个对象、一个类只能生产一个对象的设计方法)

2019年4月25日15:42:14开始 语法规则 static修饰符 static变量或方法 表示该变量是静态的,是属于类的,该类的所有对象共用这一个静态变量,也可以直接通过类名.静态变量名直接访问。 另外,用static修饰的属性和方法虽然是静态的,但他们依然是属于每个对象的,所以也...

2020-02-14 11:53:15 222 0

原创 Java基础_06 | 面向对象三大特性之一 —— 封装(访问控制符的第一个用法)

1.为什么需要访问控制符 在上一篇文章中(【Java基础学习笔记】4 - 正式进入Java的世界(类和对象及其内存分配详解) )讲述了Java中类和对象的基础,详细的解析了类和对象的内存分配问题,在最后简单的讲述了如何去访问堆中对象的属性和方法 —— 使用保存了对象地址的变量访问(和指针类似)。 ...

2020-02-14 11:51:33 229 0

原创 Java基础_05 | Java中 [类的属性] 和 [类的方法中的局部变量] 两者初始化问题

Java变量初始化问题详解(局部变量、类的数据成员变量)

2020-02-14 11:49:59 179 0

原创 Java基础_04 | 正式进入Java的世界(类和对象、类和对象的内存分配详解、构造函数)

类和对象及其内存分配详解

2020-02-14 11:49:01 186 0

原创 Java基础_03 | Java SE基础语法(命名规约,变量定义机制,基本数据类型,常量,运算符,流程控制)

文章目录1.命名规则2.基本数据类型3.常量(重点)3.1.整型常量3.2.浮点型常量3.3.字符型常量3.4.布尔型常量4.数据类型转化4.1.自动类型转化4.2.强制类型转化5.运算符6.流程控制6.1.顺序6.2.分支条件分支if_else多重分支switch6.3.循环 1.命名规则 ...

2020-02-14 11:45:48 209 0

原创 Java基础_02 | HelloWorld程序带你入门Java

Hello,World程序带你入门

2020-02-14 11:43:57 186 0

原创 Java基础_01 | Java开发环境搭建(Windows环境配置、Linux环境配置、IDEA配置)

1. Windows配置Java环境 下载JDK8 JDK即Java Develop Kit,广泛使用的版本是JDK 8,可以在官方网站下载,如果觉得官方网站比较慢的话,可以访问我提供的不限速下载站下载(http://www.mculover666.cn/download/): 安装JDK8 下...

2020-02-14 10:58:11 291 0

原创 Java基础_00 | Java语言概述 + 学习路线

1.Java语言的诞生 1991年,Sun公司有一群异想天开的上层领导觉得观众点播电视节目是个发展趋势,于是派Jame Gosling建立一个团队去开发电视机顶盒~ 1994年,电视机顶盒不符合当时的用户理念,市场前景不是太好~ 1995年,Java第一个版本发布 2000年开始,Su...

2020-02-14 10:15:19 198 0

原创 透过小米10,来看看AIoT中蕴藏着的前沿高端技术

写这篇文章,没有别的目的,只是想透过小米10,来看看那些技术人应该了解的前沿高端技术! 1. WIFI 6 目前国内普遍使用的是WIFI 4和WIFI 5,相比较起来,WIFI6 技术有以下三个优势,更好的适应5G: 吞吐量大幅提升:提升16倍; TWT唤醒和睡眠技术:这个技术是之前的WIFI技...

2020-02-13 15:24:41 666 0

提示
确定要删除当前文章?
取消 删除