自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小瓶子树的博客

打算做嵌入式的白给少年

  • 博客(19)
  • 收藏
  • 关注

原创 git入门(学习中)

本文为《pro-git》的读书笔记,后面根据实际学习进度会慢慢更目前为git简单使用中常见的命令1.克隆仓库git clone [url] <本地名>克隆一个已有的git库,克隆git仓库的所有数据,可能会损失挂钩2.代码状态分类untracked 未跟踪,未被纳入版本控制以下全部为已跟踪Unmodified 未修改,Modified 已修改,Staged 放入暂存区,3.查看仓库状态git status <-s,--short>查看.

2020-06-21 16:40:31 233

原创 要工作啦

疫情无情的打乱了我的一切计划,不过磕磕绊绊,我也算是完成了大论文,等待盲审结果这段时间除了做PPT,终于可以开始啃书,考虑考虑上班后的生活了,博客也应该可以重新动起来了(大概)先把git和vim啃一啃,后面觉得自己可以看看写下读书笔记,总结提升一下,新的生活要加油啊最后吐槽一下学校和疫情,本来这学期有着美美的双人游计划,不光没了,好久都没见面了,异地本来就难还剥夺着我们的时间,哭了,呜呜呜呜...

2020-05-25 15:24:32 351

原创 linux内核3.0.1启动流程分析(施工中)

1.自解压(这部分就超多内容,后续补充)2.首先是汇编部分,进入SVC模式,关中断3.CP15获取处理器ID,并检查匹配4.检查内核参数表是否有效(根据是否字节对齐检查)5.初始化MMU的页表6.设置返回的虚拟地址(开启MMU后全是虚拟地址,因此要存返回地址),并保存页表基址,好存入TTBR1中(也就是用于转换的页表基址)7.初始化CPU8.启动MMU9.清.bss...

2019-08-23 16:29:30 192

原创 UBOOT启动流程简要(先写个大概,后面慢慢扩)

1.start.s,进行cpu复位2.关闭中断,进入SVC模式3.禁用MMU及Cache4.跳入low_levelinit中,修改需要使用的GPIO端口配置5.时钟初始化6.串口初始化(初始化成功会打印KK)7.内存初始化(nand的简单初始化,主要是NFCONF寄存器的配置,设置行列线数,片选等及DDR初始化)8.回到start.s,判断uboot启动方式,并将第二部...

2019-08-23 16:16:57 241

原创 OK6410A-256M-1Glinux内核3.0.1移植记录

下载linux内核文件,解压。利用smdk6410的BSP文件建立OK6410的文件,将smdk6410全部替换为ok6410并注意大小写,原先大写就大写,原先小写就小写。修改arch/arm/mach-s3c64xx下的Kconfig文件,将新建的开发板配置添加进去,复制smdk6410即可。config MACH_OK6410 bool "OK6410"-------------...

2019-08-20 20:33:41 249

原创 OK6410-A-256M-1g飞凌,uboot移植记录

大致了解了手里开发板的资源,开始尝试移植uboot1.首先下载一个uboot1.1.6,在工作目录解压。2. 完成uboot与硬件相关的代码的复制及修改,进入board/samsun目录下,利用smdk6400文件夹,建立新文件夹smdk6410,并将smdk6400里的所有文件复制到smdk6410中,进入smdk6410文件夹将smdk6400.c更名为smdk6410.c,并且打开此...

2019-08-20 15:46:13 295

原创 OK6410-A-256M-1g飞凌版初体验

主要是先跑一下demo的程序,看看硬件是否完备首先制作用于启动和烧录demo程序的SD卡,利用linux烧写工具,根据硬件内存大小选择.bin程序。我的是256M的班子所以选择mmc_ram256.bin制作好后将SD卡插入开发板,将开关拨到SD卡启动模式,在串口显示开发板信息后快速回车利用usb及SD卡启动的uboot将uboot,kernel及文件系统filesystem加载到...

2019-08-19 16:52:19 329

转载 静态链接库.a,OBJ文件.o,动态链接库.so都是啥?(待补充)

转自https://www.cnblogs.com/king-lps/p/7757919.html1.obj文件,.o也就是用户自己写的用于连接的文件,是特殊的二进制文件。根据里面不只有程序指令,还有一些相关信息,告诉连接器如何根据多个.o文件及链接库文件.a及.so进行修改从而形成最后的可执行二进制文件。2.静态链接库文件,.a静态链接库文件本质上为.o的打包,连接器会将其复制(...

2019-08-13 15:06:21 1367

原创 ok6410利用MMU实现虚拟地址点灯

MMU其实就是一个页表。将虚拟地址通过查表的方式,对应到物理地址去他由一个或一组芯片组成,一般存在与协处理器中。1.将虚拟地址转化为物理地址2.访问权限管理这里先讲内存映射功能,MMU可以将CPU寻址的虚拟内存转化为实际的物理内存,通过查表的方式,这样满足多进程或者超过物理内存的虚拟内存(通过将需要的内容从硬盘or存储器拷贝到内存,再将暂时不用的内存存回硬盘or存储器)MMU要...

2019-06-28 16:59:01 256

转载 嵌入式面经汇总(二)

1.const, inline, volatile 关键字1.static关键字解析ANSI标准规定了C具有32个关键字,其中绝大多数并无特别之处,除了涉及到存储类型的几个关键字,而我们的static关键字便是属于存储类型声明的关键字一类:1. auto: 声明该变量标识符是存放在栈上的(局部变量的默认修饰符),编译器自动完成,现今不需要手动声明,故而该修饰符几乎不用;2. regi...

2019-06-25 20:03:53 1350 1

原创 OK6410系列初始化SDRAM并将代码拷贝到SDRAM中运行

所需源文件:crt0.s(启动文件)、sdram_led_c.c(包含main函数和sdram初始化函数、时钟初始化函数)、sdram.lds(连接依赖文件,代码重定位连接定义)、makefile(一键编译)启动从头文件开始,首先是硬件配置,通知外设地址,设置外设大小之后将看门狗关闭之后bl进入clock_int,初始化时钟,HCLK=133MHZ首先设置变频锁定时间,设置时钟...

2019-06-24 20:26:38 471

转载 Linux日常之命令awk

转载自https://www.cnblogs.com/jiqianqian/p/7944013.html一. 命令awk简介    1. awk是一种编程语言,用于对文本和数据进行处理的    2. 具有强大的文本格式化能力    3. 利用命令awk,可以将一些文本整理成为我们想要的样子    4. 命令awk是逐行进行处理的二. grep、sed、awk的简单...

2019-06-09 14:55:07 119

转载 linux shell中\w \s \d \b ^ $等常用匹配用法

正则表达式 \w \s \d \b 用法:. 匹配除换行符以外的任意字符\w 匹配字母或数字或下划线\s 匹配任意的空白符\d 匹配数字 等价于[0-9]\D 匹配非数字字符\b 匹配单词的开始或结束^ 匹配字符串的开始$ 匹配字符串的结束其中,[^A-Z]表示除了不包含大写字母,^取反;^[A-Z]表示以大写字母开头---------...

2019-06-09 13:29:04 6575

转载 嵌入式面经汇总(一)

1.关于print函数printf()printf("<格式化字符串>", <参量表>);格式化输出函数fprintf()fprintf(fp, "%d", i); /*向所建文件写一整型数*/fprintf(fp, "%s", s); /*向所建文件写一字符串*/格式化文件写入sprintf()sprintf()的作用是将一个格式化的字...

2019-06-07 18:23:08 2791 1

转载 Xargs用法详解(转载)

转载于:https://czmmiao.iteye.com/blog/1949225简介之所以能用到这个命令,关键是由于很多命令不支持|管道来传递参数,而日常工作中有有这个必要,所以就有了xargs命令,例如:这个命令是错误的find /sbin -perm +700 |ls -l这样才是正确的find /sbin -perm +700 |xargs ls -lxar...

2019-06-07 15:13:54 1195

转载 xargs命令详解,xargs与管道的区别

为什么要用xargs,问题的来源在工作中经常会接触到xargs命令,特别是在别人写的脚本里面也经常会遇到,但是却很容易与管道搞混淆,本篇会详细讲解到底什么是xargs命令,为什么要用xargs命令以及与管道的区别。为什么要用xargs呢,我们知道,linux命令可以从两个地方读取要处理的内容,一个是通过命令行参数,一个是标准输入。例如cat、grep就是这样的命令,举个例子: 1 ...

2019-06-07 15:12:06 265

转载 linux代码段,数据段,BSS段, 堆,栈

linux代码段,数据段,BSS段, 堆,栈网上摘抄了一些,自己组织好了,以便参考 !!!!进 程(执行的程序)会占用一定数量的内存,它或是用来存放从磁盘载入的程序代码,或是存放取自用户输入的数据等等。不过进程对这些内存的管理方式因内存用途不一而不尽相同,有些内存是事先静态分配和统一回收的,而有些却是按需要动态分配和回收的。对任何一个普通进程来讲,它都会涉及到5种不同的数据段...

2019-06-07 15:06:48 389 1

原创 2020届vivo提前批笔试总结

1.输出A中B没有的元素,两个for循环并在vector做记录,根据记录输出;2.from到to的链表翻转3.01背包问题1.第一题应该还可以用pair打包做标记,输出就比较方便了,做的时候没想到;时间比较短,边界条件也没考虑;2.考虑到链表长度没变,直接将区间内数据拷贝到vector内倒序复制进去。3.01背包,动态规划的一种,之前就刷过剪绳子,写了大体结构不会分重量;...

2019-06-04 20:50:01 2812 5

转载 fstab挂载选项'errors=remount ro'意味着什么?

errors={continue|remount-ro|panic}Define the behavior when an error is encountered. (Either ignore errors and just mark the filesystem erroneous and continue, or remount the filesystem read-only, o...

2019-05-28 14:47:04 16820

空空如也

空空如也

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

TA关注的人

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