自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(89)
  • 资源 (1)
  • 收藏
  • 关注

转载 1.Linux内核启动过程概述 一个嵌入式 Linux 系统从软件角度看可以分为四个部分:引导加载程序(Bootloader),Linux 内核,文件系统,应用程序。其中 Bootloader

Linux内核启动过程和Bootloader(总述) - 木花猫 - 博客园 (cnblogs.com)1.Linux内核启动过程概述 一个嵌入式 Linux 系统从软件角度看可以分为四个部分:引导加载程序(Bootloader),Linux 内核,文件系统,应用程序。其中 Bootloader是系统启动或复位以后执行的第一段代码,它主要用来初始化处理器及外设,然后调用 Linux 内核。Linux 内核在完成系统的初始化之后需要挂载某个文件系统做为根文件系统(Root Filesystem)。...

2021-12-27 14:36:15 639

转载 关于Linux群组问题

使用者与群组与其他人文件拥有者初次接触Linux的朋友大概会觉得很怪异,怎么『Linux有这么多使用者, 还分什么群组,有什么用?』。这个『用户与群组』的功能可是相当健全而好用的一个安全防护呢!怎么说呢? 由于Linux是个多人多任务的系统,因此可能常常会有多人同时使用这部主机来进行工作的情况发生, 为了考虑每个人的隐私权以及每个人喜好的工作环境,因此,这个『文件拥有者』的

2018-01-06 17:26:42 1441

转载 LED

一、LED控制编程 1、电路原理图     【底板】env\DataSheet\x6818bv2.pdf       如果让LED1亮(D25),找到'对应标号'为GPIOC12为低电平       反之--------------------------------------高电平     【核心板】env\DataSheet\x4418cv3_release20150713.pdf

2017-11-23 13:57:50 641

转载 LED灯源程序编写与编译、UART原理

回顾: 面试题:谈谈对嵌入式的理解 1.明确:如何向下位机部署软件   1.1.明确:嵌入式开发模式,画出简要的示意图   1.2.看图明确接下来要完成的内容       上位机搭建开发环境           各种安装       搞定下位机               掌控硬件信息                   粗看                

2017-11-23 13:56:34 1096

转载 关于A53开发板启动问题

http://blog.csdn.net/youxin2004/article/details/50204205http://blog.csdn.net/aven_paul/article/details/46772285http://blog.csdn.net/conanyang/article/details/6856613

2017-11-23 13:55:41 1124

转载 计算机的启动过程(详细)

【转】计算机的启动Feb 17th, 2013寒假回来就要开始执行新年的计划了~首先是每周的一篇blog。今天看了阮一峰最新的一篇博客计算机是如何启动的,感觉写得很好,又清楚又简单。虽然自己关于计算机启动这个过程从大三OS课的时候就陆陆续续地一直有了解,但是都没有一个系统的了解,或者了解了又忘了,希望通过这次记录把这点彻底弄清楚来并且记在脑子里。另外在评论中有另外一个小

2017-11-23 13:17:54 2860 1

转载 机械硬盘科普

1、 硬盘的结构    硬盘大家一定不会陌生,我们可以把它比喻成是我们电脑储存数据和信息的大仓库。一般说来,无论哪种机械硬盘,都是由盘片、磁头、盘片主轴、控制电机、磁头控制器、数据转换器、接口、缓存等几个部份组成。     所有的盘片都固定在一个旋转轴上,这个轴即盘片主轴。而所有盘片之间是绝对平行的,在每个盘片的存储面上都有一个磁头,磁头与盘片之间的距离比头发 丝的直径还小。所有的磁头

2017-11-23 12:02:19 1748

转载 C语言中的强符号与弱符号

http://blog.csdn.net/astrotycoon/article/details/8008629

2017-11-22 14:43:19 215

转载 source insight使用教程

一 、界面了解1、工具栏1) 2) a、 蓝黑色的箭头可以转到你前一次和后一次编辑过得地方 b、可以在不同的查找结果之间跳转 c、跳转行 (ctrl + G) d、跳转到 ctrl + M的标记处3) Jump to Definition 跳转到光标选定(函数、变量、宏定义) symbol Info 选择这个按钮将会弹出一个窗口线时选定的

2017-11-22 14:16:58 495

转载 非常好的硬件启动流程说明

概述一BootROM二Bootloader 引导程序三Linux 内核四init 进程关键路径作用五Zygote 创建与启动应用Zygote 是什么关键代码路径流程分析创建虚拟机 App_maincpp虚拟机初始化之后 ZygoteInitjava六SystemServer七引导结束本文地址:http://bl

2017-11-20 17:14:34 1033

转载 Linux目录结构(简单版)

一、Linux目录结构你想知道为什么某些程序位于/bin下,或者/sbin,或者/usr/bin,或/usr/sbin目录下吗?例如,less命令位于/usr/bin目录下。为什么没在/bin中,或/sbin,或/usr/sbin目录中?所有这些目录之间有什么不同?在这篇文章中,让我们回顾一下Linux的文件系统结构,并理解各上层目录的含义。蓝色:表示目录青色:表示链接黑色:表

2017-11-20 10:08:27 266

转载 linux硬件设备操作函数(open举例)

open(/dev/ietctl, O_RDWR) 这是文件I/O的常用函数,open函数,open函数用来打开一个设备,他返回的是一个整型变量,如果这个值等于-1,说明打开文件出现错误,如果为大于0的值,那么这个值代表的就是文件描述符。一般的写法是if((fd=open("/dev/ttys0",O_RDWR | O_NOCTTY | O_NDELAY)perror("open");

2017-11-17 17:59:19 2205

转载 设备控制接口函数(ioctl 函数)

1、 什么是ioctlioctl是设备驱动程序中对设备的I/O通道进行管理的函数。所谓对I/O通道进行管理,就是对设备的一些特性进行控制,例如串口的传输波特率、马达的转速等等。大部分驱动需要 -- 除了读写设备的能力 -- 通过设备驱动进行各种硬件控制的能力. 大部分设备可进行超出简单的数据传输之外的操作; 用户空间必须常常能够请求, 例如, 设备锁上它的门,弹出它的介质, 报告错误信息,

2017-11-17 17:54:32 492

转载 Linux下精确控制时间的函数

Linux下精确控制时间的函数          在测试程序接口运行时间的时候,常用time,gettimeofday等函数,但是这些函数在程序执行的时候是耗费时间的,如果仅仅测试时间还行,但是如果程序中用到时间控制类的函数,如time,  gettimeofday自身还会消耗不少时间,且增加程序执行的成本,这样得到的时间不精确。         针对这种情况,使用CPU心

2017-11-17 17:51:49 356

转载 STM32 SysTick

什么是SysTick?这是一个24位的系统节拍定时器system tick timer,SysTick,具有自动重载和溢出中断功能,所有基于Cortex_M3处理器的微控制器都可以由这个定时器获得一定的时间间隔。SysTick作用在单任务引用程序中,因为其架构就决定了它执行任务的串行性,这就引出一个问题:当某个任务出现问题时,就会牵连到后续的任务,进而导致整个系

2017-11-15 18:13:42 250

转载 stm32时钟相关

我在原创的基础又从另一位博主处引用了一些内容。  时钟系统是处理器的核心,所以在学习STM32所有外设之前,认真学习时钟系统是必要的,有助于深入理解STM32。     下面是从网上找的一个STM32时钟框图,比《STM32中文参考手册》里面的是中途看起来清晰一些:         重要的时钟:   PLLCLK,SYSCLK,HCKL,PCLK1,PCLK2

2017-11-15 09:47:19 349

转载 STM32定时器相关介绍(主要是有UEV更新事件介绍)

单片机的定时器的确很强大,参考说明书中就占了一百多页,占参考手册1/4有多了。STM32的定时器分了好几个类别,各个类别针对功能作用都不大相同。分有: 一、高级定时器       二、通用定时器       三、基本定时器       四、看门狗定时器       五、SysTick定时器      其中看门狗定时器和SysTick定时器本篇笔记阐述,这里主要记

2017-11-01 10:37:18 7523

转载 QT相关下载

上Qt官网http://www.qt.io/download/想下载Qt,速度很慢,在这里记录下在Qt官网看到的镜像下载地址:1. 所有Qt版本下载地址:http://download.qt.io/archive/qt/2. 所有Qt Creator下载地址:http://download.qt.io/archive/qtcreator/

2017-10-10 17:38:31 357

转载 C++string使用

C++中string是标准库中一种容器,相当于保存元素类型为char的vector容器(自己理解),这个类提供了相当丰富的函数来完成对字符串操作,以及与C风格字符串之间转换,下面是对string一些总结 一,C语言的字符串在C语言里,对字符串的处理一项都是一件比较痛苦的事情,因为通常在实现字符串的操作的时候都会用到最不容易驾驭的类型——指针。比如下面这个例子:

2017-09-07 11:41:42 426 1

转载 关于数据库删除列等

今天在SQLite数据库中添加了一列,后来发现列名写错了,于是使用SQL语句来修改列名,可是根本不管用。首先,请放弃alter吧。sqlite官方说明如下:SQLite supports a limited subset of ALTER TABLE. The ALTER TABLE command in SQLite allows the user to rename a

2017-08-30 17:51:23 826

转载 数据库数据类型

=========================================================================SQL Server数据库的数据类型详细介绍  SQLServer 提供了 25 种数据类型: Binary [(n)],Varbinary [(n)],Char[(n)],Varchar[(n)],Nchar[(n)],Nvarchar[(

2017-08-30 17:31:31 274

转载 数据库数据类型

=========================================================================SQL Server数据库的数据类型详细介绍  SQLServer 提供了 25 种数据类型: Binary [(n)],Varbinary [(n)],Char[(n)],Varchar[(n)],Nchar[(n)],Nvarchar[(

2017-08-30 17:22:54 279

转载 LINUX共享内存使用常见陷阱与分析

所谓共享内存就是使得多个进程可以访问同一块内存空间,是最快的可用IPC形 式。是针对其他通信机制运行效率较低而设计的。往往与其它通信机制,如信号量结合使用,来达到进程间的同步及互斥。其他进程能把同一段共享内存段“连接 到”他们自己的地址空间里去。所有进程都能访问共享内存中的地址。如果一个进程向这段共享内存写了数据,所做的改动会即时被有访问同一段共享内存的其他进 程看到。共享内存的使用大大降低了

2017-05-27 10:22:05 462

转载 大型网站架构之分布式消息队列

以下是消息队列以下的大纲,本文主要介绍消息队列概述,消息队列应用场景和消息中间件示例(电商,日志系统)。本次分享大纲消息队列概述消息队列应用场景消息中间件示例JMS消息服务常用消息队列参考(推荐)资料本次分享总结一、消息队列概述消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。实现高性能,高可用,可伸缩和最终一致性架构。是大型分布式

2017-05-11 17:21:05 146

转载 IO与文件读写---同步/异步与阻塞/非阻塞的区别(转) _适用于TI dsp驱动

首先来解释同步和异步的概念,这两个概念与消息的通知机制有关.举个例子,比如我去银行办理业务,可能选择排队等候,也可能取一个小纸条上面有我的号码,等到排到我这一号时由柜台的人通知我轮到我去办理业务了.前者(排队等候)就是同步等待消息,而后者(等待别人通知)就是异步等待消息.在异步消息处理中,等待消息者(在这个例子中就是等待办理业务的人)往往注册一个回调机制,在所等待的事件被触发时由触

2017-05-09 18:11:34 1548

原创 UNIX一切皆文件!!

忘记从哪里听到这样一句话,UNIX一切皆文件。下面是我的理解,这句话真的UNIX最精髓的一句话!我在研究管道的时候,用到popen和pclose,这里popen返回值是FILE *fp,大多是理解成管道,可以跟子进程的标准输入输出重定向,如果这里把它看成是一个文件,那么无非就是对这个文件的写或读,无非这个文件限制成只读或只写,两者不能同时存在,所以我认为管道其实就是一个文件。那么如果吃透了po

2017-05-09 17:32:45 1686 1

转载 进程的开始与终止(exit和_exit区别)

exit(int n)其实就是直接退出程序,因为默认的标准程序入口为 int main(int argc, char** argv),返回值是int型的。一般在shell下面,运行一个程序,然后使用命令echo $?就能得到该程序的返回值,也就是退出值,在main()里面,你可以用return n,也能够直接用exit(n)来做。unix默认的习惯正确退出是返回0,错误返回非0。   理论

2017-05-02 19:30:43 858

转载 ps和grep 的用法

ps和grep 的用法进程的概念:[b]1.1 进程分类;[/b]进程一般分为交互进程、批处理进程和守护进程三类。值得一提的是守护进程总是活跃的,一般是后台运行,守护进程一般是由系统在开机时通过脚本自动激活启动或超级管理用户root来启动。比如在Fedora或Redhat中,我们可以定义httpd服务器的启动脚本的运行级别,此文件位于/etc/i

2017-05-02 14:58:11 4103

转载 printf如何工作

说起编程语言,C语言大家再熟悉不过。说起最简单的代码,Helloworld更是众所周知。一条简单的printf语句便可以完成这个简单的功能,可是printf背后到底做了什么事情呢?可能很多人不曾在意,也或许你比我还要好奇!那我们就聊聊printf背后的故事。一、printf的代码在哪里?显然,Helloworld的源代码需要经过编译器编译,操作系统的加载才能正确执行。而编译器包含预

2017-05-01 17:42:31 1702

转载 fflush(stdin)和fflush(stdout)【转】

fflush(stdin)比较容易理解,即清理标准输入流,把多余的仍未被保存的数据丢掉。比如,下面这个小程序:void main(){        int a;        char str[10];        cin>>a;        cout        cin>>str;        cout}

2017-05-01 12:06:31 296

转载 Linux中的文件描述符与打开文件之间的关系

1. 概述    在Linux系统中一切皆可以看成是文件,文件又可分为:普通文件、目录文件、链接文件和设备文件。文件描述符(file descriptor)是内核为了高效管理已被打开的文件所创建的索引,其是一个非负整数(通常是小整数),用于指代被打开的文件,所有执行I/O操作的系统调用都通过文件描述符。程序刚刚启动的时候,0是标准输入,1是标准输出,2是标准错误。如果此时去打开一个新的文件

2017-05-01 11:25:42 237

转载 Keil uVision5 下载程序 add flash programming algorithm选项缺少需要的算法解决办法

MDK开发环境从V4升级到V5后,支持包不再是集成到开发环境当中,而是封装在PACK中,需要自行安装,比较麻烦。搭建MDK开发环境以及破解的方法,在前面的文章中有详细说明,这里不再赘述,有兴趣的可以参考:http://www.cnblogs.com/huanzxj/p/6200928.html搭建好开发环境,在编译完代码需要下载的时候,需要选择下载算法:add flash prog

2017-04-27 11:41:23 27018 2

转载 四则运算表达式求值(栈的应用)

1.前/中/后缀表达式的转换(首先需要明白三者之间的转换)     自然表达式转换为前/中/后缀表达式,其实是很简单的。首先将自然表达式按照优先级顺序,构造出与表达式相对应的二叉树,然后对二叉树进行前/中/后缀遍历,即得到前/中/后缀表达式。    举例说明将自然表达式转换成二叉树:    a×(b+c)-d    ① 根据表达式的优先级顺序,首先计算(b+c),形成二

2017-04-19 20:53:39 355

转载 Linux内核链表的研究与应用

Author:tiger-johnTime:2012-12-20Mail:[email protected]:http://blog.csdn.NET/tigerjb/article/details/8299599转载请注明出处。前言:在Linux内核中使用了大量的链表来组织其数据,其采用了双向链表作为其基本的数据结构。但是与我们传

2017-04-18 22:12:30 268

转载 快速排序

算法的精髓在于,跟它一比高数也显得那么生动活泼…。本文由啊哈磊吐槽而成,话说我还是头一次见到这么萌的变量,简直颠覆我对变量这个兵种、对算法这个种族的传统观念。正在被算法欺负吗?快进来看看:作者:啊哈磊来源:51CTO博客|2014-03-03 16:44 移动端 收藏  分享高快省的排序算法有没有既不浪费空间又可以快一点的排序算法呢?

2017-04-06 11:43:14 278

转载 常用排序算法稳定性分析

【1】选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法冒泡排序、插入排序、归并排序和基数排序都是稳定的排序算法。【2】研究排序算法的稳定性有何意义?首先,排序算法的稳定性大家应该都知道,通俗地讲就是能保证排序前两个相等的数据其在序列中的先后位置顺序与排序后它们两个先后位置顺序相同。再简单具体一点,如果A i == A j,Ai 原来在 Aj 位置前,排序后 A

2017-04-05 13:04:24 171

转载 stm32 ADC理解

神通广大的各位互联网的网友们、大家早上中午晚上好好好、今早起来很准时的收到了两条10086的扣月租的信息、心痛不已、怀着这心情、又开始了STM32的研究、早上做了计算机控制的PID实验,又让我想起了飞思卡尔的电磁小车、、曾经的电感电压采集让我心碎的多少次、又让我开心了多少次、但已经成为过去、(软件和硬件都会影响),呵呵、估计有人已经猜到我接下来要介绍什么了、在你们面前、我已无秘密、额、其实标题也直

2017-04-01 11:34:00 15436

转载 STM32 时钟获得

高速时钟提供给芯片主体的主时钟.低速时钟只是提供给芯片中的RTC(实时时钟)及独立看门狗使用。内部时钟是在芯片内部RC振荡器产生的,起振较快,所以时钟在芯片刚上电的时候,默认使用内部高速时钟。而外部时钟信号是由外部的晶振输入的,在精度和稳定性上都有很大优势,所以上电之后我们再通过软件配置,转而采用外部时钟信号.STM32有以下4个时钟源:     高速外部时钟(HSE):以外部晶振作时

2017-03-16 15:14:46 671

转载 有关STM32输入输出模式

原文地址:有关推挽输出、开漏输出、复用开漏输出、复用推挽输出以及上拉输入、下拉输入、浮空输入、模拟输入区别作者:Roberl最近在看数据手册的时候,发现在Cortex-M3里,对于GPIO的配置种类有8种之多:(1)GPIO_Mode_AIN 模拟输入        (2)GPIO_Mode_IN_FLOATING 浮空输入       (3)GPIO_Mode_IPD 下

2017-03-16 14:26:22 334

转载 STM32时钟理解

一、硬件上的连接问题如果使用内部RC振荡器而不使用外部晶振,请按照如下方法处理:1)对于100脚或144脚的产品,OSC_IN应接地,OSC_OUT应悬空。2)对于少于100脚的产品,有2种接法:   i)OSC_IN和OSC_OUT分别通过10K电阻接地。此方法可提高EMC性能。   ii)分别重映射OSC_IN和OSC_OUT至PD0和PD1,再

2017-03-16 14:23:26 1825

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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