自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 什么是根文件系统?

相信做过linux移植的朋友们一定对根文件系统这个名词十分熟悉,在移植的过程中,bootloader,kernel和根文件系统是必须要移植的,bootloader和kernel都比较直观好懂,而我自己花了很多时间才能理解什么是根文件系统,所以我就来说说我对根文件系统的理解。 首先说说什么文件系统。用我的话来讲,文件系统就是用来管理块设备的。做过单片机的朋友们都知道当我们要读取块设备时,要知道数据...

2018-07-30 08:47:58 7423 4

原创 u-boot给内核传参的方法

内核运行需要一定的运行的环境,所以在内核启动之前,由u-boot等启动程序来提供这部分的运行环境,这里讲讲u-boot准备好运行环境后,怎么给内核传递必须的参数。传参的思想:将要传递的每一个参数封装成一个结构体,然后把这一个个结构体连续存储在内存的一片区域内,然后将这片区域的地址传递给内核,这样就可以完成传参。u-boot中将这个结构体定义为tag,下面是tag的定义:struct tag {  ...

2018-07-12 23:06:09 440

原创 c语言中巧妙的编程思想

最近在看uboot代码,看到一种很巧妙的编程方法,这种思想是用来快速的运行很多个函数的一种方法,代码如下typedef int (init_fnc_t) (void); //定义一个函数类型//init_sequence数组是一个函数指针类型的数组,里面存放的是各个函数的名字init_fnc_t *init_sequence[] = { cpu_init, board_init, in...

2018-07-11 11:10:45 2566

原创 c语言提高篇(二)——指针和数组

在我对c语言的认知里,指针和数组有着密不可分的关系,大家从平时的事例中可以看出,譬如说指针存储的是其他变量的地址,而数组名表示着该数组的地址;在函数传参时,指针和数组经常能互相替换等等这些例子;因为我写的是c语言的提高篇,所以我就讲讲指针和数组更加深层次的应用,或者说是一些大家会忽略的细节,如果注意到这些细节,相信一定会更深入理解他们两者的关系首先来一下扫盲:int *p[2];//这是一个指...

2018-06-05 23:49:58 444 1

原创 c语言提高篇(一)

  我接触c语言有一段时间了,之前把c语言的语法弄得滚瓜烂熟,但是还不敢说自己懂c语言,老感觉自己摸不透c语言,但是经过这一段时间的学习,我觉得c语言有了很大的进步,在此我会慢慢总结我对c语言深层次的理解。作为自己的学习笔记,同时也可以供大家来学习  c语言是除了汇编语言外最底层的语言,所以比起c++,java等语言外,c语言更接近机器的底层硬件。在此基础上,我们再往层次去想,我们编写的程序是在内...

2018-06-03 21:51:10 4412 2

原创 简单来写一个输入输出函数

        做嵌入式产品时,因为printf函数默认输出的设备是显示屏,而我们开发工程师更多的时候是为了获取调试信息,而这调试信息我们希望是通过串口来发送,这时候,就需要我们自己来写一个输入输出函数了,因为大多数调试信息都是以字符形式存在的,所以下面的程序只是发送字符类型的//首先要声明串口初始化的函数,这两个函数根据机器类型的不同的不同void uart_put(char c);char u...

2018-05-29 00:22:33 1201

原创 c语言可变参数的详细解答

1.什么是可变参数可变参数顾名思义就是不能明确有多少个参数传入的参数,在c语言中用...表示2.为什么需要可变参数举个例子:如果我们要写一个两个数相加的函数时,函数参数为两个;如果我们要写三个数相加的函数时,那么函数参数需要三个;当我们要写一个任意个函数相加的函数时,那函数的参数为多少个呢?这时,可变参数就派上用场了。还有就是c语言中的printf函数(这个就不用我多讲了)3.可变参数的实现原理在...

2018-05-27 22:07:09 217

原创 简单概括一下哈佛结构和冯诺依曼结构

哈佛结构:代码和变量不放在一起,像一般的单片机中,有代码段,数据段,堆等存放数据和代码,代码存放到代码段中,全局变量存放到数据段和bss段中,局部变量存放到栈中,只有变量才能改变,代码段里面的程序在运行时不能修改,所以优点是因为代码段不能修改,所以程序运行时稳定,结构稳定冯诺伊曼结构:程序和变量一起存放,这样带来的缺点就是程序可能会被修改,导致出错,像pc机一般就采用这种结构,所以就有中病毒的...

2018-05-24 22:11:51 565

空空如也

空空如也

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

TA关注的人

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