- 博客(8)
- 收藏
- 关注
原创 C++深拷贝与浅拷贝
class Person {public: Person(){} Person(int age, int height) { _age = age; _height = new int(height); } ~Person() { if (_height) { delete _height; _height = NULL; } } int
2022-03-10 16:25:40
226
原创 C++模板之类模板
语法:template < typename T>一、使用方法//类模板template <class T1,class T2>class Person{public: Person(T1 _name, T2 _age) { this->age = _age; this->name = _name; } T1 name; T2 age;};使用:Person<st
2022-03-03 16:20:46
476
原创 C++模板之函数模板
模板分为函数模板与类模板语法:template < typename T>template 声明这是在创建模板typename 表示后面的符号是一种数据类型,习惯上,如果声明类模板,则template < class T>,除了名字,没有什么不同对于函数,例如 void funct(int a)中 void函数返回值类型与int参数类型可以先不指定一、使用方法:举例:int addIn(int &m,int &n) //两整型数相加{ int v
2022-03-03 14:03:56
377
原创 Linux进程管理之CFS进程调度器
一、进程进程结构体(只列举几个重要的成员):struct task_struct {#ifdef CONFIG_THREAD_INFO_IN_TASK /* * For reasons of header soup (see current_thread_info()), this * must be the first element of task_struct. */ struct thread_info thread_info;#endif volatile long st
2022-02-28 20:24:05
566
原创 ARM系统时钟(S3C2440)
S3C2440有三种时钟:FCLK HCLK PCLKFCLK: CPUHCLK :内存芯片,网卡等PCLK :UART,定时器等设置这三种时钟的方式:晶振通过PLL,达到一个很高的频率FCLK ,然后将FCLK 分频,以达到想要的HCLK PCLK;下图是S3C2440CPU,系统刚上电时cpu运行的频率FCLK等于晶振OSC的频率,通过PLL设置,FCLK达到一个新的很高的频率。图中有一个锁定时间,在锁定时间内,cpu停止运行,当频率稳定后,CPU再次开始以新的频率运行。通过上面的
2022-02-27 15:57:17
990
原创 ARM中断体系结构(以S3C2440为例)
本文参考韦东山嵌入式视频一、ARM体系CPU工作模式1、用户模式(usr)2、快速中断模式(fiq)3、中断模式(irq)4、管理模式(svc)5、数据访问终止模式(abt)6、系统模式(sys)7、未定义指令中止模式(und)①每种工作模式有不同的寄存器:一共有37个32位寄存器(以ARM920T CPU为例,在ARM状态下(ARM体系的CPU有两种工作状态)),②有不同的权限 :配合MMU使用③有不同的出发条件:例如上电后处于管理模式 发生中断进入irq模式等二、异常与中断1
2022-02-26 11:51:09
547
原创 .config文件相关说明
Linux配置的结果 生成.config文件打开.config配置文件:从上图可以看出,配置项 = y表示被编译进内核 其实,除了=y 还可以=m 表示被编译成.ko模块,如果什么都没有,表示那个文件没有使用。m和y的差别在driver/net/makefile字目录中体现:在.config文件中,以DM9000网卡为例:CONFIG_DM9000=y在driver/net/makefile中如下体现make uImage的时,①.config自动生成autoconf.h(即incl
2022-02-24 17:13:19
3958
原创 嵌入式Linux源码配置编译流程
1、linux源码包解压缩2、打补丁(相关厂家提供的补丁文件,以便适用于厂家的产品):patch -p? < 补丁文件 参数p后面的问号表示忽略几个/ 在patch文件中有说明,也与当前正处在哪个目录下有关3、配置:有三种配置方式:①make menuconfig② 使用默认的配置 :在arc/arm/configs目录下找到相关的配置文件(可以通过命令:find -name “defconfig” ),例如xxx_defconfig,然后make xxx_defconfig就会j将所有的
2022-02-24 16:14:43
1105
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人