自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 coretx-A35 register 操作

话不多说,直接上code.CurrentEL & cpacr_el1unsigned int current_el, cpacr, fpexc32;__asm volatile ("mrs %0, CurrentEL\n" : "=r"(current_el));__asm volatile ("mrs %0, cpacr_el1\n" : "=r"(cpacr));printf("CurrentEL:%x, cpacr_el1:%x.\n", current_el, cpacr)

2020-05-27 22:04:59 389

原创 .s file和.c file 共享 变量

很久没来写,还是抽空写写~.S 文件和.c 文件 使用同一个变量.S 文件既然是共用,那么.S 中的变量就需要设定成全局变量。同时需要给其赋值。.global variable_x.set variable_x, 0x400000000function: mov x2, #0 mov x1, #1345 mov x2, variable_x str x1, [x2]c 文件extern uint32_t variable_x;void test(void){ pri

2020-05-27 21:47:51 365

原创 设定ls 显示的颜色

LS 显示颜色的设定Enable打开bashrc 文件vim ~/.bashrc插入如下的一条命令eval “dircolors -b ~/.dir_colors”修改颜色打开dir_colors 文件,如果没有可以使用dircolors -p > ~/.dir_colors修改文件vim ~/.dir_colors找到"DIR 01;34", 修改...

2019-12-25 17:48:10 562

原创 Python总结第五篇之函数

函数你可以定义一个由自己想要功能的函数,以下是简单的规则:函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。函数内容以冒号起始,并且缩进。return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 N...

2019-11-22 10:23:24 153

原创 Python总结第四篇之全局变量

python 中对于全局变量的使用还是挺有意思的。话不多说,直接上实例。全局变量实例1:target = 0def function(target): target = 2 print "子函数:",targetdef main() function(target) print "main:",target结果:子函数:2main:0实例2:target = 0...

2019-11-21 16:55:12 107

原创 Python总结第三篇之字符串

字符串算是python 文本处理中用到的非常多的内容了,下面就对此总结下。查找字符串#!usr/bin/env import reimport stringtarget = 'test.txt'file = open(target) keyword = 'help'for line in file: # 这一行的目的是为了查看,是否有从首位开始就与keyword匹配的字符串...

2019-11-21 16:32:12 96

原创 Python总结第二篇之if else and 循环

Python 的if else 结构其实比较简单,复杂的地方其实应该算是和其他的操作合并在一起。先抛开其他的来说,只是看if else,后续会再介绍关于其他的操作,比如字符串。话不多说,直接上实例。结构if x == 1 and y == 1: print x+yelif x > 1 or y < 1: print xelif line == False: print "...

2019-11-21 16:01:41 342

原创 Python总结第一篇之运行、注释、print(换行、十六进制输出)

总结最新因工作需要,对一些文本文件做处理。本想用shell 脚本做处理,但是实在有些复杂,思来想去还是决定用python。因为是第一次使用,故将这些内容做一下总结。先总结下比较简单的内容,如何执行python脚本。执行首先我们得搭建python 环境,环境ready之后就需要知道如何执行了,其实python脚本的执行有很多种方法,一般我都是在linux环境下操作,所以一般使用的如下两种方...

2019-11-21 15:43:23 1495

原创 shell 脚本之删除文件

今天为了省事把一个文件的所有目录都copy 了过来,但是只有几个关键的目录是我想要的。又为了省事,想了一想,用脚本比较开心。所以就写了一个shell脚本,在此做一个记录。code#! /bin/bashfunction loop_dir() { for dir in `ls $1` #注意此处这是两个反引号,表示运行系统命令,下面文件处理的地方也需要加``或者用$() ...

2019-11-14 10:40:54 4376

原创 shell 脚本之轮询文件

如何查找当前目录下所有件呢?想了一想,用脚本比较好。所以就写了一个shell脚本,在此做一个记录。code#! /bin/bashfunction read_file() { for file in `ls $1` #注意此处这是两个反引号,表示运行系统命令,下面文件处理的地方也需要加``或者用$() do if [ -d $...

2019-11-13 11:19:05 2472

原创 vim 打开文件后会显示^M问题

背景最近在移植代码的时候,遇到一个有意思的现象,用git diff 查看改动的时候,发现很多没改动的文件每一行的后面都有一个^M, 但是用vim 打开这些文件的时候,在每行的结尾有找不到这个 ^M。目前有两个问题:^M 是怎么来的?^M 为什么在vim 下看不到?问了解决第一个问题,我们得先知道^M 是什么?^M 是什么^M 的出现主要是因为Windows 和 Linux 的换行...

2019-11-11 16:09:12 2430

原创 Makefile进阶篇之LD

Makefile进阶篇概述上一张Makefile之初级篇 描述了如何编写一个简单的Makefile。如上一篇所说,生成可执行文件包含了两个过程: 编译 + 连接。如果没有特别指定需要使用的ld文件,连接阶段就会使用gcc 的默认ld文件;如果需要使用特别的ld 文件,可以使用如下命令:arm-linux-ld -Tlink.lds sample1.o sample2.o main.o...

2019-11-09 17:27:29 6852

原创 Makefile心得之初级篇

概述关于Makefile 的功能大家或多或少都知道一些,本不想多写这一段,但是总觉得不写点啥,会有一些怪怪的,所以还请大家见谅。先说下Makefile 的好处:“自动化编译”,简单来说就是把原先需要一步一步手动编写的gcc 编译命令,都集合在一个文件内,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。Makefile可以做哪些事情: Makefile 文件描述...

2019-11-09 16:54:52 796

转载 跟我一起写Makefile转载篇

跟我一起写Makefile此文章转载: 陈皓博客makefile很重要什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下...

2019-11-09 15:53:35 146

转载 ELF文件结构描述

郑重声明: 该文章转载于以下博客园–博主yooooooo博客园-博主yooooooo 此文对于小菜学习帮助很大,小菜实在是忍不住重新写了一遍加深理解。ELF文件结构描述ELF目标文件格式最前部ELF文件头(ELF Header),它包含了描述了整个文件的基本属性,比如ELF文件版本、目标机器型号、程序入口地址等。其中ELF文件与段有关的重要结构就是段表(Section Header Tab...

2019-11-04 13:57:38 717

原创 ARM Cortex-M之汇编小结(1)

ARM Cortex-M之汇编小结(1)最近在学习ARM Cortex-M,许久没有再使用汇编的小弟,看到一段汇编命令十分之头疼。耗费一天时间之后,终于对这段代码有所了解,作为学习笔记记录一下。ldr在ARM指令集中,ldr指令即可能是大范围的地址读取伪指令,也可能是内存访问指令,当它的第二个参数之前有“=”时,表示伪指令,否则是内存访问指令,比如 :LDR r0,=name, 像这种带等...

2019-11-04 13:46:42 480

转载 WFE and WFI

郑重声明: 该文章转载于以下博客园–博主yooooooo博客园-博主yooooooo 此文对于小菜学习帮助很大,小菜实在是忍不住重新写了一遍加深理解。WFE &WFIWFI: Wait for interruptWFE: Wait for event两者均可以让ARM核进入low-power standby模式的指令,由ARM architecture定义,由ARM cor...

2019-10-24 20:04:45 200

原创 __attribute__((weak))

__attribute__ weak__attribute__((weak))弱符号:attribute((weak))的作用举例动态库和静态库动态库静态库attribute((weak))弱符号:若两个或两个以上全局符号(函数或变量名)名字一样,而其中之一声明为weak symbol(弱符号),则这些全局符号不会引发重定义错误。链接器会忽略弱符号,去使用普通的全局符号来解析所有对这些符号的...

2019-10-24 14:05:23 685

原创 mmc_pwrseq

driverpath:https://elixir.bootlin.com/linux/latest/source/drivers/mmc/core/相关的文件:pwrseq.c \ pwrseq_emmc.c \ pwrseq_simple.cflow:mmc_pwrseq 这个文档会在pwrseq_simple.c 或者 pwrseq_emmc.c 里面init pwrse...

2019-06-23 22:09:33 1295 1

原创 ERR_PTR,ERR_CAST,IS_ERR,PTR_ERR

最近在看一些kernel code,简单做一下总结。Code#define IS_ERR_VALUE(x) unlikely((unsigned long)(void *)(x) >= (unsigned long)-MAX_ERRNO)static inline void * __must_check ERR_PTR(long error){ return (void *) e...

2019-06-21 10:27:53 768

原创 linux kernel 随机数

linux kernel 生成随机数Linux kernel 生成随机数随机数API:Linux kernel 生成随机数仅以此做一个学习记录。随机数随机数kernel 里面有提供一个专门的file:drivers/char/random.cAPI:/* * This function is the exported kernel interface. It returns ...

2019-06-03 11:47:42 2008

原创 稳定排序和非稳定排序

稳定排序、非稳定排序稳定排序排序分类稳定排序好处稳定排序稳定排序:待排序的记录序列中可能存在两个或两个以上关键字相等的记录。排序前的序列中Ri领先于Rj(即i&lt;j).若在排序后的序列中Ri仍然领先于Rj,则称所用的方法是稳定的。参考 这儿顾名思义,不能满足上述条件的,就是非稳定排序了。排序分类哪些是稳定排序,哪些是非稳定排序呢?稳定:插入排序基数排序归并排序 冒...

2018-09-27 13:50:21 752

原创 数据结构之单向链表环

一个单向数据链表,如果有形成环,如何判断是否有环,且环的启示位置在哪呢? 笨拙的方法就是申请一个很大的指针数据,用来存储已经遇到的指针地址,并且用来判断是否有重复,不过仔细想想得动态申请多大一块呢?oh, god!真的是很笨的方法。 下面说一个比较有效的方法,算法复杂度不高(O(n))、空间复杂度(O(1))也很低的方法:跑步顾名思义,一个指针跑的快,一个指针跑的慢。两个指针,一个...

2018-09-12 10:25:00 289

原创 生活感悟

距离毕业已经四年多了,回头看看自己四年多的工作经历、研究生生活、本科生活。感慨颇多啊,实实在在体会到很多以前满不在乎的一些话。刚上记得大学的时候,一个门卫大哥语重心长的跟我说了一段话: 人啊,这辈子,最需要的就是资源和机会。当时还不以为是,机会和资源都是自己争取的,要你跟我说。现在想想,这简直就是至理名言,我们在这个社会上,需要的不就是资源和机会么,机会是要自己争取,可是你得有机遇啊...

2018-09-06 22:49:51 95

原创 Linux学习笔记之proc文件使用篇

proc 这里要注意的是, “fflush(stdout); “, 看到flush 和 sdout,大家就算不知道实现原理,应该也是可以猜到其中的含义了。代码功能总体是比较简单的,最好的学习方法就是,自己修改其中的一些变量值,看下跑起来的效果就会有比较深的理解了。Maekfile为了使我们编写的小程序可以顺利执行,需要生成一个binary。这个时候就需要我们自己写一个简单的M...

2018-09-06 19:29:20 1170

原创 Linux学习笔记之sscanf

sscanf 这里要注意的是, “fflush(stdout); “, 看到flush 和 sdout,大家就算不知道实现原理,应该也是可以猜到其中的含义了。代码功能总体是比较简单的,最好的学习方法就是,自己修改其中的一些变量值,看下跑起来的效果就会有比较深的理解了。Maekfile为了使我们编写的小程序可以顺利执行,需要生成一个binary。这个时候就需要我们自己写一个简单...

2018-09-06 11:40:17 586

转载 Linux学习笔记之print process

print process最近突然想在linux 打印process,就像Windows进度条。就查了查资料,才发现原来我们的printf 有这么厉害的功能。下面我们看下代码: 这里要注意的是, “fflush(stdout); “, 看到flush 和 sdout,大家就算不知道实现原理,应该也是可以猜到其中的含义了。代码功能总体是比较简单的,最好的学习方法就是,自己修改其中的...

2018-09-06 11:03:32 326

原创 linux学习笔记之container_of

container_of 是一个非常神奇的功能,也是在linux kernel 里面非常常见的一个功能,简单描述他的功能就是: 根据已知的struct member的地址,和已知到的struct define,获得该struct member 所在struct 的起始地址。 现在在看下container_of 的define,相信你有新的收获。 ...

2018-09-04 10:35:39 125

原创 dtb 反向编译生成dts

dtb 反向编译生成dts在linux 开发driver 的时候,需要check 生成的dtb 文件是否符合预期,这个时候如果可以将build 生成的dtb 文件做反编译生成对应的dts文件,对于我们check 问题,将是很有帮助的: ./dtc -I dtb -O dts *.dtb -o *.dts这就是反编译用到的命令。至于dtc 脚本的位置,可以到如下位置去找: ...

2018-09-04 10:23:30 7213

原创 Linux学习笔记之callback

callback function刚入职之时,小弟曾经受师兄指导写过一个回调,最近又回想到回调,思来想去,对回调的概念百思不得其解,困扰了好久。小弟愚钝,在查看了很多资料之后依然疑惑重重,犹如雾里看花终隔一层。如此两天,如骨在喉,实在是不吐不快。终于按奈不住心中躁动,拉起几位小伙伴深夜畅谈,终于拨开迷雾见明月。小弟谈谈自己的理解,希望对感兴趣的小伙帮能有所帮助;如果小弟有理解不妥的地方,更希望...

2018-08-29 14:57:32 1240

原创 linux 学习笔记之atomic

atomic_read防止读取的是寄存器的内容,而内存的值已经被其他线程改变 static inline int atomic_read(const atomic_t *v) { return ((volatile int )&amp;amp;(v)-&amp;gt;counter); }...

2018-08-22 15:34:41 4433

原创 vim 配色笔记

vim 配色笔记工欲善其事必先利其器,对于一个程序员来书一个合适编辑工具是非常中央的。本文将小弟对vim的配色做一下笔记:目录用 [TOC]来生成目录:vim 配色笔记目录vim 自带配色模板配色语法添加自己配色模板vim 自带配色模板 vim 自带配色模板 所在的位置 /usr/share/vim/vim74/colors ...

2018-08-17 16:52:50 592

空空如也

空空如也

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

TA关注的人

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