随笔分类 -  【a1本人原创】

摘要:一个容易疏忽的问题: strcmp、strncmp、memcmp, 对于memcmp进行字符串比较时可能会出现内存重叠的情况 status = strncmp(xdev->product, "MU709", 5); if (!status) { return -ENODEV; } 一个脚本,用来通过 阅读全文
posted @ 2015-12-23 17:29 Sky&Zhang 阅读(544) 评论(0) 推荐(0) 编辑
摘要:写一个main.c gcc -c -g main.c objdump -S main.o > b.txt arm-none-linux-gnueabi-gcc -c -g a.c arm-none-linux-gnueabi-objdump -S a.o > c.txt 这样就可以查看到c和汇编同时 阅读全文
posted @ 2015-09-23 17:12 Sky&Zhang 阅读(1393) 评论(0) 推荐(0) 编辑
摘要:方法一、 通过打印函数地址,可以查看函数在哪里调用 例如: Core.c drivers\pwm int pwm_config(struct pwm_device *pwm, int duty_ns, int period_ns) { if (!pwm || period_ns == 0 || du 阅读全文
posted @ 2015-08-31 17:16 Sky&Zhang 阅读(746) 评论(0) 推荐(0) 编辑
摘要:以下部分内容转自:https://blog.csdn.net/jiatingqiang/article/details/7481497 反汇编调试内核驱动 arm-none-linux-gnueabi-objdump -S kmod-demo1.o > a.txt 什么是Oops?从语言学的角度说, 阅读全文
posted @ 2015-08-28 10:33 Sky&Zhang 阅读(5230) 评论(0) 推荐(0) 编辑
摘要:带颜色打印: printk("\033[1;33;40m misc.c InterIoctl() action=%d\033[0m\r\n", action); 方法一、 方法二、 方法三、 printk 调试方法 方法1: //#define MY_DEBUG#ifdef MY_DEBUG#def 阅读全文
posted @ 2015-08-06 11:45 Sky&Zhang 阅读(821) 评论(0) 推荐(0) 编辑
摘要:Makefile 编写 Make -f makefile1 指定 如下是 本人的一点makefile学习笔记,再分享一个不错的写makefile总结的网址: http://www.cnblogs.com/wang_yb/p/3990952.html 方法九、 目录结构如下 bin下为可执行文件 in 阅读全文
posted @ 2015-07-16 23:07 Sky&Zhang 阅读(2388) 评论(0) 推荐(0) 编辑
摘要:diff 命令用法 1、”-u”:表示在比较结果中输出上下文中一些相同的行,这有利于人工定位 2、“-r“:表示递归比较各个子目录下的文件 3、“-N“:将不存在的文件当作空文件 4、“-w“:忽略对空格的比较 5、“-B“:忽略对空行的比较 例如:假设Linux-2.6.22.6目录中是原始的内核 阅读全文
posted @ 2015-05-19 11:27 Sky&Zhang 阅读(4792) 评论(0) 推荐(0) 编辑
摘要:寄存器与内存 寄存器与内存的区别在哪里呢? 寄存器和RAM的主要不同在于寄存器操作有副作用(side effect或边际效果): 读取某个地址时可能导致该地址内容发生变化,比如很多设备的中断状态寄存器只要一读取,便自动清零。 内存与IO 在X86处理器中存在IO空间的概念,IO空间是相对内存空间而言 阅读全文
posted @ 2015-05-16 19:09 Sky&Zhang 阅读(413) 评论(0) 推荐(0) 编辑
摘要:mmap系统调用(功能) void *mmap(void *addr, size_t len, int prot, int flags, int fd, off_t offset) 内存映射函数mmap , 负责把文件内容映射到进程的虚拟内存空间,通过对这段内存的读取和修改,来实现对文件的读取和修改 阅读全文
posted @ 2015-05-16 17:10 Sky&Zhang 阅读(2596) 评论(0) 推荐(0) 编辑
摘要:本人用的BLE是TIcc2541,1.3.2协议栈 1、首先要说明的是,iphone手机将信息保护了,BLE设备读到的iphone地址是随机的,每次连接都会不同 2、下面我就具体说明如何查看手机的mac地址 首先我的程序是作为从机的,从机配好开始广播,事件SBP_START_DEVICE_EVT > 阅读全文
posted @ 2015-03-06 00:18 Sky&Zhang 阅读(3922) 评论(0) 推荐(0) 编辑
摘要:Connection Events 本人在TI官网的学习笔记,现整理如下 两台BLE设备建立连接后,所有的通信事件都是通过Connection Events中发生的 上图为两台BLE建立连接后,用示波器从其中一台设备中测量的波形 红色是时间轴 横轴, 耗电量 黑色纵轴 尖刺的波就是Connectio 阅读全文
posted @ 2015-01-05 12:43 Sky&Zhang 阅读(2160) 评论(3) 推荐(0) 编辑
摘要:第一题 #include<stdio.h> int main() { unsigned int a=6; int b=-20; printf("%d\n",a+b); (a+b)>6? puts(">6"):puts("<=6"); return 0; } 答案是:>6 第二题 #include<s 阅读全文
posted @ 2014-12-09 16:39 Sky&Zhang 阅读(4456) 评论(0) 推荐(0) 编辑
摘要:块设备文件: 表示文件系统高速缓存的设备,例如硬盘驱动器 设备文件: 表示非高速缓存的设备,例如磁带驱动器、鼠标和系统终端 那么如何把一个数据存到文件系统中?是怎么存的? 一般地,我们认为文件就是文件的数据信息,它存放在磁盘上,如果单纯的这样理解就错了 和每一个文件相关的信息都会放在索引节点上,比方 阅读全文
posted @ 2014-12-05 00:58 Sky&Zhang 阅读(1097) 评论(0) 推荐(0) 编辑
摘要:存储器的层次结构 高速缓冲存储器 cache 读cache操作 cache如果包含数据就直接从cache中读出来,因为cache速度要比内存快 如果没有包含的话,就从内存中找,找到后就放到cache中去,以后再读的话就直接从cache读了,下次访问很多次的时候就会快很多,相当于提高了命中率,cpu的 阅读全文
posted @ 2014-12-04 02:37 Sky&Zhang 阅读(2317) 评论(0) 推荐(0) 编辑
摘要:驱动开发 字符设备,块设备,网络设备 字符设备 以字节流的方式访问, 不能随机访问 有例外,显卡、EEPROM可以随机访问 EEPROM可以擦写1亿次,是一种字符设备,可以随机访问 读写是直接访问硬件的 flash 擦写次数有限,一百万次,容易有坏块 块设备 能随机访问 以”块“为单位进行访问 块大 阅读全文
posted @ 2014-12-04 00:59 Sky&Zhang 阅读(881) 评论(0) 推荐(0) 编辑
摘要:如何在博客园上面显示自己的头像 1、打开你的博客主页: 点击【管理】,如图: 2、点击【设置】,在如下图的界面里点击【头像设置】 3、出现如下图界面后,选择右上角的【我的博客】左边那个选项,我的是【张昺华-sky】 4、出现如下图后右键--【查看网页源代码】 5、出现下图后,按快捷键【ctrl+f】 阅读全文
posted @ 2014-12-03 20:35 Sky&Zhang 阅读(775) 评论(4) 推荐(0) 编辑
摘要:程序执行的过程: 比如我们要执行3 + 2 程序计数器(PC) = 指令地址 指令寄存器(IR) = 正在执行的命令 累加器(AC) = 临时存储体 那么实际上执行了三条指令 每条指令又分为两部分:取址、执行 取址就是从寄存器里取一条指令放在IR寄存器 左上角的图,PC寄存器里面放的值是300 那么 阅读全文
posted @ 2014-12-03 19:43 Sky&Zhang 阅读(796) 评论(0) 推荐(0) 编辑
摘要:register 用法注意与深入: gcc -o test test.c 这样编译的话会报错的,因为寄存器变量是不能取地址的,只有内存的变量才能取地址 寄存器变量取的是虚拟地址 #include <stdio.h> int main(void) { register int i; int *p = 阅读全文
posted @ 2014-12-03 16:53 Sky&Zhang 阅读(2518) 评论(3) 推荐(0) 编辑
摘要:volatile 所有定义的变量都是在内存上面的, 例如: int i = 10; int j = i; int k = i; i = 10; 是初始化的变量,存放在数据段,未初始化的变量存放在bss段 也就是i为左值时存放在内存上 j = i 此时 i 为右值,那么i的值在寄存器上,j就从寄存器上 阅读全文
posted @ 2014-12-03 16:51 Sky&Zhang 阅读(423) 评论(0) 推荐(1) 编辑
摘要:虚拟机要选择桥接,并且禁用有线和无线网卡,开启本地连接,本地连接属性要写如下: ip地址是在连上板子后,windows cmd 下 ipconfig得出的 板子的网线最好连接交换机或者路由器,再由用另一根网线连到电脑上面 如果直接板子连在电脑上的话,有时候nfs可能不行,因为网线这时候相当于是在全双 阅读全文
posted @ 2014-12-03 13:13 Sky&Zhang 阅读(1544) 评论(0) 推荐(0) 编辑