自定义博客皮肤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 335

原创 要工作啦

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

2020-05-25 15:24:32 423

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

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

2019-08-23 16:29:30 296

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

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

2019-08-23 16:16:57 360

原创 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 354

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

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

2019-08-20 15:46:13 382

原创 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 459

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

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

2019-08-13 15:06:21 1761

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

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

2019-06-28 16:59:01 361

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

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

2019-06-25 20:03:53 1504 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 567

转载 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 201

转载 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 6900

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

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

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

转载 Xargs用法详解(转载)

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

2019-06-07 15:13:54 1256

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

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

2019-06-07 15:12:06 333

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

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

2019-06-07 15:06:48 535 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 2978 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 18487

空空如也

空空如也

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

TA关注的人

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