自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zhoukangli的专栏

专注嵌入式linux

  • 博客(122)
  • 资源 (4)
  • 收藏
  • 关注

原创 PID Control

D 当前的偏差,与过去的偏差变化率,变化太快,会带来过冲问题,所以可以增加系数,调节过冲问题。I 随着时间的积累,离目标会越来越近,那么根据积累的偏差,偏差越大,加速可以更大。P 按照设定目标,与当前状态的偏差,指定一个系数,目的是快速达到目标。

2024-05-27 10:51:42 203

原创 大数求和问题实现

2.实现几个子函数,一个用于从低位到高位,逐渐相加,有进位就往前加一个;1. 将a, b 作为字符串输入,并且对短的进行0填充,填充之后等长;1. 输入数据 a, b 分别是很长的整数,求和,输出a+b的结果;3.在每个累加结束后,看最后一位有没有进位的需求,进位;

2024-03-30 10:36:08 150

原创 数组合并小程序

这里一个一个插入是有效率问题的,为了程序简单,没有处理,如果有一批插入元素都在范围内,可以整体插入,但是实现条件会更多。3. 一个函数专门用于查找可以插入的位置,对于重复的数据,查找到的未知有可能是重复的,那么要跳过;1. 如果比插入的数组大,那么往后插入,如果继续有大的,就移动位置插入;4. 一个函数专门用于插入动作,插入方法就是先整体移动位置,然后插入;2. 遍历完所有要插入的元素;

2024-03-28 22:00:58 591

原创 快速排序的关键点

2. 从高往低找比基准准小的,所以条件是只要比自己大或者等于,就跳过,然后找到之后,进行交换,这里注意前提条件是从高到低,与从低到高都是维持,低<高。3. 从低往高找比基准大的,所以条件是只要是比自己小或者等于的,就跳过,然后找到之后,进行交换。4. 最后返回low的位置,作为进一步划分的前后端。这里有一个停止条件就是,low必须小于high。寻找基准位置前的区域进行划分。寻找基准位置后的区域进行划分。

2024-03-28 14:28:40 134

原创 addr2line&readelf&objdump

测试程序:zhoukangli@ubuntu:~/Documents$ cat hello.c#include#includeint main(){ int x=0; printf("hello\n"); int countk=0; char *p=NULL; *p=0x01; printf("countk=%d\n", countk);return 0;}gc

2016-11-28 23:17:39 952

原创 /proc/N/maps 信息是如何生成的?

以进程1为例,查看proc长什么样子?127|shell@tiny4412:/proc/1 # ls -l dr-xr-xr-x root root 2014-01-01 12:07 attr-r-------- root root 0 2014-01-01 12:07 auxv-r--r--r-- root

2016-11-27 12:53:22 3413

原创 Android openplatform 编译系统粗略学习笔记

框架: make -à调用Openplatform/MakefileMakefile 包括            细节: Main.mak 文件:àinclude config.makàinclude sysconfig_version.mak  1.    通过git获取平台(platform

2014-09-23 21:44:46 1233

原创 快速设置ADB工作目录

由于目前一直使用ADB,但是每天早上都必须chongxin

2014-09-23 00:01:14 1003

原创 linux 字符设备驱动的验证程序(openplatform/android/externl/chr_dev/)

为了验证前面编写的字符设备编写是否正确,编写一个

2014-09-22 23:37:43 1344

原创 (一)linux 字符设备驱动的编写

在编写驱动的过程中主要参考

2014-09-22 21:51:30 1143

原创 Andoird service 实例程序调试过程[driver->hal->jni->service->app] (总结篇)

经过一个月的Android学习

2014-09-22 21:36:58 937

原创 linux shell 执行的认识

目的:让etc/profile 文件中的环境lian

2014-09-16 23:53:37 826

原创 C++ 类模板温故

由于这一段时间学习android 的binder

2014-09-01 21:54:42 676

原创 linux 中“未解决的引用”查看命令

nm *.ko (* 文件名)

2014-08-11 22:34:31 612

转载 misc设备驱动模型及实例解析

1、misc设备驱动模型      本节我们来看一下misc设备驱动模型的有关内容,首先是看看它的设备结构体,定义在include/linux/miscdevice.h中:[cpp] view plaincopystruct miscdevice  {      int minor;                  //次设

2014-08-11 15:14:51 684

转载 linux MISC 驱动模型分析

linux MISC 驱动模型分析        阅读led驱动程序的代码的时候,没有发现ldd3中提到的各种字符设备注册函数,而是发现了一个misc_register函数,这说明led设备是作为杂项设备出现在内核中的,在内核中,misc杂项设备驱动接口是对一些字符设备的简单封装,他们共享一个主设备号,有不同的次设备号,共享一个open调用,其他的操作函数在打开后运用linux驱动程序的

2014-08-11 15:11:52 610

转载 platform设备驱动

1.platform总线、设备与驱动在Linux 2.6的设备驱动模型中,关心总线、设备和驱动这3个实体,总线将设备和驱动绑定。在系统每注册一个设备的时候,会寻找与之匹配的驱动;相反的,在系统每注册一个驱动的时候,会寻找与之匹配的设备,而匹配由总线完成。一个现实的Linux设备和驱动通常都需要挂接在一种总线上,对于本身依附于PCI、USB、I2 C、SPI等的设备而言,这自然不是问

2014-08-11 14:57:24 547

转载 Linux中的platform

总线设备驱动模型主要包含总线、设备、驱动三个部分,总线可以是一条真实存在的总线,例如USB、I2C等典型的设备。但是对于一些设备(内部的设备)可能没有现成的总线。Linux 2.6内核中引入了总线设备驱动模型。总线设备驱动模型与之前的三类驱动(字符、块设备、网络设备)没有必然的联系。设备只是搭载到了总线中。在linux内核中假设存在一条虚拟总线,称之为platform总线。platform总线相比

2014-08-11 14:55:50 727

原创 fl2440 开发板环境配置(仅供个人参考,记忆力不好)

samba启动:

2014-08-02 16:28:47 878

转载 多核多线程开发时如何防止false sharing (from intel)

https://software.intel.com/en-us/articles/avoiding-and-identifying-false-sharing-among-threads/

2014-07-19 10:53:20 684

翻译 gcc 中typeof的用法

Another way to refer to the type of an expression is with typeof. The syntax of using ofthis keyword looks like sizeof, but the construct acts semantically like a type name definedwith typedef.T

2014-07-19 09:58:18 1107

原创 代码框架优化

1.从整体到局部,那么在划分模块的时候,jut

2014-07-12 10:52:46 1317

原创 阅读代码整洁之道->错误处理

错误处理与代码逻辑的矛盾

2014-04-23 22:53:06 649

原创 驱动开发的需要做的三件事

预备知识待学习KBUID部分待学习MAKEFILE 部分详解待学习

2014-04-21 22:41:17 1367

原创 linux 驱动中的makefile体系

obj-y:把由foo.c 或者 foo.s 文件编译得到foo.o 并连接进内核.obj-m: 则表示该文件作为模块编译.除了y、m以外的obj-x 形式的目标都不会被编译。除了obj-形式的目标以外,还有lib-y library 库、hostprogs-y 主机程序。hello-objs := file1.o file2.o ......  多文件时,用这种形式

2014-04-21 22:38:02 560

原创 思考

如何成为更加优秀的

2014-04-14 22:55:29 597

原创 最近的一些感想

第一次出差,感觉就是客户最急迫的事情就是解决他们的现场问题,经过QA的多次测试来发现其中可能存在的隐患,并解决他们,为量产做好准备。然后就是如果有经过测试的rom.bin最好保存一份,以免在更新软件之后测试出问题,不知道什么原因,然后又无法恢复到以前的测试版本,出差需要带一些笔,纸之类的东西,记录一些现场的问题。如果关于信号方面的,偶尔能够连接,偶尔不能够连接,其问题很有可能是硬件的问题,嵌入

2013-12-30 00:05:46 725 1

原创 思考

学习别人的东西,而不自己思考,没有自己的主见,那么永远都是别人的想法,多读书,多思考,多写文章,将自己的想法表达出来,而非将别人的思想填充在自己的脑海之中,最终却失去了方向。

2013-12-29 15:22:44 667

原创 换工作之后的一些问题

记录一下,此刻的心情,从第一家公司换到现在的公司,感觉到了事实就是每个公司都有他的好与坏,跳多了也不能够静下来做事,学习一些东西,而且感觉有一些迷失,从学校出来,偶尔有些迷失方向,不知道工作是为了什么,没有学校里面的激情,没有原来那么有激情,没有成天都去学习,没有学习的良好习惯。而且感觉很多东西不会,迷失的时候喜欢玩游戏之类的消磨时间,但是还是有点后悔,不希望三年了之后还没有比较好的提升,希望能够

2013-12-22 23:50:14 778

原创 谦虚,学习,看世界

来了深圳一个多月了,感觉工作氛围还是很不错,看到了同事们有很多优点,谦虚,无尽的激情... 前一段时间有点迷茫,工作之余都玩游戏去了,确实是无聊,后来改了,人对自己的要求应该高一点,天外有天,人外有人, 对自己要求高一点,自己的水平也就相应的提升了。世界很大,谦虚是必须的,牛人太多了,只有默默努力了,多看看书,看看世界,看看自己跟别人的差距,加油。

2013-12-01 17:51:30 556

原创 处理干扰的一些小技巧

连续多次采集信号,多次确认几次。。。接地,屏蔽,滤波。。。

2013-10-06 19:27:20 820

原创 项目中漏掉了的东西,以及不足总结

1)最大的失误有两个少了两个输入,右摇窗没有输入。太粗心了。2)放大器的两端接错了,这个最开始对原理不清楚导致的,没有下细分析。3)板子的二极管,方向没有标,芯片引脚的尺寸应该比手册中的大一点。4)天线没有画。5)板子的布局方式有问题,太长了。6)LM258 应该改为节能模式7)CAN通信芯片,应该加上sleepmode电路。个人弱点: 太粗心、揽下的事情太多了

2013-09-30 18:16:00 1100

原创 很多纠结的问题不就结了

(1) 到底现实点好,还是单纯点好,这个问题偶尔很纠结,后面看过一个老师的视频讲解之后,不纠结了,如果人太现实了,那么生活也就没有了乐趣,所以单纯点还是有好处的,比较幸福。如果一个人太单纯了,不现实点,那么连基本的生活都不能够保证,那么问题就来了。(2)现实与理想的问题,如果自己觉得自己就这个样子,那么什么都无法改变了。如果你认为不是这个样子的,那么你至少有了更多的路,如果你认为不是这个样子的

2013-09-17 22:41:10 580

原创 编写51汇编中断程序遇到的问题

调试了一天,写了一个程序,本来51有两个外部中断INT0, INT1. 虽然程序很简单,但是始终只有一个INT1产生了中断,调试了一天无果,感觉是不是碰到了脑子有问题了,在今天早上解决了,对单片机不是很了解,对汇编语言编写还不够了解,没有懂得底层的东西,没有注意他的一些限制条件。半壶水叮当响,以为自己水平应该还可以了,还是没有考虑到,但是在今天早上想到了,以前写程序的时候都是用c写的,对单片机的地

2013-09-17 22:30:07 1527

原创 stc11f16xe 单片机汇编语言编写遇到的一些问题

编写代码差不多编写了一个月左右了,有点没用,编写了1800行左右的程序,编得比较痛苦,经常出现逻辑出错,位出错。总的来说问题主要出现在编写过程中命名不规范,重复,而且可读性比较差,主要是可读性比较差,引起了太多的问题,调着就头大,而且主要是在调试的过程中,没有分成一个模块一个模块的调试,写一段程序,然后下载到板子上去,而且周围环境比较差,同事就在那里各种聊天,我承认我心中谩骂了好多遍,可不可以安静

2013-09-16 18:48:51 1790

转载 ARM STMFD 和 LDMFD

点击打开链接

2013-08-25 10:00:10 1076

原创 最近工作的一些感想以及个人弱点

最初在学校的时候,对所谓的公司,想象中的公司,效率高,像家一样,大家态度很好,而且环境还不错,工作起来应该很快乐。-----想象的太美好了   几个月的工作之后发现,正好相反,工作效率低,有点冷漠,态度不好,而且环境不好。------现实中的太残酷    几个月的工作之后,发现了自己的很多弱点,1)做人做事太认真,做人做事要求太高了,对于效率低的会议以及其他活动相当反感,感觉实在浪费时间,

2013-08-22 23:21:50 1043

原创 CAN项目---遇到的问题

在本次项目运行过程中,遇到了很多问题,分析一下,本次遇到的问题。1.关于板子: 1)在投板之前,其实已经将PCB板和原理图对比了一下的,但是由于沟通不到位,导致最后还是出现了许多问题。其中第一个问题,主要是设计原理图的人和画板子的人不是一个,而且在相互沟 通的过程中,并未形成对应的文件,再设计过程中相互沟通还不够,而且最好在沟通之后,能够形成文件,并且让相互之间进行确认,就应该不会出现这样

2013-08-22 22:51:37 922

原创 PCB投板时候遇到的问题

1.样品和批量制板的问题,一般的PCB生产厂商都不是很愿意接收样品生产,而且生产周期从7~10天变得更长,差不多就要10~15天左右。2.在投递板子的时候,需要向pcb生产厂商提供自己的要求,要求有哪些呢,第一次做,不懂。  1)板子的铜箔厚度。  2)板子的是否需要连板,而且连板的尺寸,以及方向都必须比较注意。  3)板子是否需要印刷字符。  4) 板子是否需要工艺槽,以及工

2013-07-25 23:41:27 2710

原创 发光二极管配合单片机使用经验

普通发光二极管的正向饱和压降1.6~2.1v, 正向工作电流为5~20mA1)考虑一个问题工作电流一般是取中间值,Iwork= (Imin+Imax) / 2,取其值的原因是,为了防止电源电压波动,波动在允许范围内,都是可以正常工作的。2)考虑接的限流电阻 R = (Vcc-V)/Iwork, 其中V为正向饱和压降。3)考虑单片机能够承受的灌电流,以及拉电流。如果单片机口作为驱

2013-07-19 20:59:26 748

linux driver 学习网络博客记录

1.在学习linux driver的半个月,看的博客内容。

2014-08-02

华为PCB设计规范

主要讲述pcb 设计过程中的一些规范 一些注意事项等等

2013-08-01

自己总结的指令执行过程

本文本文说明了指令的整个执行过程,如果能够好好弄的话,能够深刻理解地址,指针,stmfd等等.

2012-08-20

arm寻址方式总结

自己总结的ARM指令寻址,包括相应的指令集介绍,和一些规则

2012-08-16

空空如也

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

TA关注的人

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