自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

思维决定一切

嵌入式linux

  • 博客(61)
  • 资源 (9)
  • 收藏
  • 关注

原创 我在微软做PM(1)——微软PM是干啥的

这个周刚刚入职,感想颇多。本系列的第一篇文章,先讲讲对微软PM的理解。今天贺军GG(一个和我一起入职的社招员工,坐在我的旁边,原来在IBM CSTL)分析的很到位,大致有两种路线。第一是走产品路线,主要是围绕产品本身,定位于产品经理(Product Manager),负责一个产品的生命周期;第二是做项目管理(Project Manager),假设已经确定了要做什么,就要围绕项目管理(计划+执行)方

2013-07-04 23:39:37 6602 1

原创 在mini2440上移植minicom

ref:http://blog.csdn.net/Giang_ge/article/details/5781056http://blog.csdn.net/yuyanchao2005/article/details/6106329源码包:http://alioth.debian.org/projects/minicom/ ncurses源码包:http://ft

2013-04-07 15:49:29 1123

转载 Qt经典出错信息之undefined reference to `vtable for classname

http://www.cuteqt.com/blog/?p=116这个出错信息太常见了,用过Qt两个月以上的朋友基本上都能自己解决了,因为太经典了,可以给新手参考。出错信息一般类似:undefined reference to `vtable for classname MyWidget`在执行make命令后出现。出错原因是在定义类的时候为了能使用signals和slot,

2013-04-07 15:47:58 919

原创 操作系统内存分段机制

在内存分段系统中,一个程序的逻辑地址通过分段机制自动地映射(变换)到中间层的4GB(2^32B)线性地址空间中。程序每次对内存的引用都是对内存段中内存的引用。当程序引用一个内存地址时,通过把相应的段基址加到程序员看得见的逻辑地址上就形成了一个对应的线性地址。此时若没有启用分页机制,则该线性地址就被送到CPU的外部地址总线上,用于直接寻址对应的物理内存。如图所示。那么虚拟存储管理

2013-04-07 15:46:17 2064 1

转载 Ansi、Unicode、UTF8字符串之间的转换和写入文本文件

转载请注明出处http://www.cppblog.com/greatws/archive/2008/08/31/60546.html最近有人问我关于这个的问题,就此写一篇blogAnsi字符串我们最熟悉,英文占一个字节,汉字2个字节,以一个\0结尾,常用于txt文本文件Unicode字符串,每个字符(汉字、英文字母)都占2个字节,以2个连续的\0结尾,NT操作系统内核用的

2013-04-07 15:43:47 861

原创 IBM CSTL platform computing笔试

1、有一个双向链表,要写一个插入元素的函数。提供给三个参数,分别是链表地址,要插入的元素,要插入的位置之前的一个元素。2、写一个程序将一个IP地址转换为一个unsigned int。(题目没有说明IP地址的格式)3、设计一个ATM取钱的协议,要求:1、充分考虑网络失败的情况。2、最终结果只能是客户成功取到钱,银行扣钱和客户没有成功取钱,银行没扣钱两种结果。4、linux的中断处理分为上

2013-04-07 15:41:18 1033

原创 提示 Could not start process "**.sh" When executing step 'Custom Process Step'

如果提示11:00:58: Could not start process "/home/zxzxy/QtSDK/VTSM3000/gprs.sh" Error while building/deploying project VTSM3000 (target: Desktop)When executing step 'Custom Process Step'八成是这个

2013-04-07 15:27:24 2114

原创 关于分页管理

在普通的单片机中,我们的内存管理都比较简单,顶多就是使用malloc函数分配一段内存;整个内存空间基本上是成线性分布的,一边是栈的生长方向,一边是堆的整体空间(当然,这个取决于编译器是怎样优化的,但是一般来说是这样)。但是,在操作系统中,内存又是怎样进行管理的呢?和嵌入式一样吗?这就是今天我们要讨论的问题。一、分页存储管理1.基本思想用户程序的地址空间被划分成若干固定大小的

2013-04-07 15:21:30 1578

转载 如何取消Qt中的鼠标指针?

其实方法不止一种,可以在编译Qt库的时候添加编译选项QT_NO_CURSOR,这样cursor相关的代码统统不会被编译进去,自然鼠标光标也不会出现在程序中。然而有时候我们已经把cursor相关代码编译进去了,而又不想重新编译Qt库。一个简单的方法是使用下面这个函数QWSServer::setCursorVisible(false);这是一个静态函数,可以在main()函数中

2013-04-07 14:59:35 3259

原创 mini2440 - linux下移植RTC模块

inux-2.6.35在fs2410开发板启动后,通过nfs挂载文件系统,但是rtc不能用,也会在挂载文件系统之前打印如下提示信息:TCP cubic registeredNET: Registered protocol family 1RPC: Registered udp transport module.RPC: Registered tcp transport module

2013-04-07 14:56:40 1349

原创 linux下如何阻塞进程

提出问题:若驱动程序无法立即满足请求,该如何响应? 比如:当数据不可用时调用read,或是在缓冲区已满时,调用write解决问题:驱动程序应该(默认)该阻塞进程,将其置入休眠状态直到请求可继续。休眠:当一个进程被置入休眠时,它会被标记为一种特殊状态并从调度器运行队列中移走,直到某些情况下修改了这个状态,才能运行该进程。安全进入休眠两原则:1.永远不要在原子上下文中进入休

2013-04-07 14:45:29 3992

转载 关于ioremap

void * __ioremap(unsigned long phys_addr, unsigned long size, unsigned long flags)phys_addr:要映射的起始的IO地址;size:要映射的空间的大小;flags:要映射的IO空间的和权限有关的标志;void *ioremap(unsigned long phys_addr, unsi

2013-04-07 14:42:59 1247

转载 linux 默认的include在哪?

#include 中的module.h默认是在哪个目录下呢?我在/usr/include/linux下并没有找到这个文件。另外想问一下,不同内核版本的linux头文件是不是一样的。比如:我在2.6.20内核的系统上,用2.6.10的头文件会不会有问题。网友回复:1我的 module.h是在 内核编译好了的目录下的,不是在/usr/include/linux下,2在2.

2013-04-07 14:42:37 9981

原创 和cc2500通信时总是读入0F

问题描述:今天用linux的spi驱动读cc2500的寄存器,因为是采用linux的spi驱动整的,发现总是返回0X0F,经过阅读下面这个帖子:CC2500应用技巧注意事项SPI 接口时序注意事项:    CC2500通过4线SPI兼容接口(SI,SO,SCLK和CSn)配置。这个接口同时用作写和读缓存数据。SPI接口上所有的地址和数据转换被最先在重要的位上处理。

2013-04-07 11:09:17 2048

转载 Qt4.7 程序里字很小解决方案

用的是 mini6410,编译了 ARM 版本的 Qt4.7 丢到板子上都没问题,设置环境变数后程序也可以用 -qws 方法运行(试了那个 My Calc 的示范)。可是出现的视窗里字特别小,大约要改用 27 点字体才会正常一些。试著跑了系统自带的 fluidlauncher 范例,竟然也是一样字型特小,和从板子原本的 Qtopia2.2 里头选择的 Qt4.7 demo 差距很大,不知为何!

2013-04-07 11:07:19 1079

转载 Windows与Ubuntu双系统重装WIN7后修复Grub2

http://www.linuxidc.com/Linux/2012-02/55304.htm一直在使用Windows与Ubuntu双系统(估计很多的linuxer都是这种情况)。前一段时间重装了Win7,然后启动后便会不选择系统而直接进入Windows。原因其实蛮好想的,就是因为Windows的引导程序覆盖了MBR,启动时不再使用grub引导。至于修复方法,下面是一些总结。这

2013-02-26 19:40:29 951

原创 Leetcode 15 3Sum

Leetcode 24: wrong TLEclass Solution{public: ListNode *swapPairs(ListNode *L) { // Start typing your C/C++ solution below // DO NOT write int main() function if (L == NULL) return L;

2013-02-21 22:12:38 550

原创 Leetcode 120 Triangle

//L120 Triangle//!!!IMPORTANT:erase an DP array to save space, if we only count numbers rather than to know the path//edge case: NULL//thoughts:DP, use a arr[n] to store the smallest element in

2013-02-21 22:06:17 517

原创 Leetcode 108 Convert Sorted Array to Binary Search Tree

//L108//we could use d&c//Given an array where elements are sorted in ascending order, convert it to a height balanced BST.//we could do it recursively//pick the middle element as the root//

2013-02-21 22:02:41 512

原创 Leetcode 104 Maximum Depth of Binary Tree

class Solution{public: int maxDepth(TreeNode* root) { if (root == NULL) return 0; if (root->left && root->right) return std::max(maxDepth(root->left), maxDepth(root->right)) + 1; el

2013-02-21 21:16:24 549

原创 Leetcode 100 Same Tree

class Solution{public: bool isSameTree(TreeNode* root1, TreeNode* root2) { if (root1 == NULL && root2 == NULL) return true; else if (root1 == NULL || root2 == NULL) return false; else

2013-02-21 21:12:41 465

原创 Leetcode 69 sqrt(x)

注意32位乘法的问题,和寄存器相关!int sqrt(int x){ if (x <= 0) return 0; uint64_t high = x, low = 1, mid; uint64_t square, square2; //!!! initialize high & low while (low < high) { mid = (high - l

2013-02-21 21:04:39 551

原创 Leetcode 102 Binary Tree Level Order Traversal

通过这道题目,学会了BFS。其实BFS的概念很简单,之前在看书的时候也接触到过,并且树的层序遍历就是用的queue,这里简单总结一下。首先,从BFS的定义出发,显然是要用到队列的。因为BFS有一个显著的概念就是分层,必须遍历完本层之后,再去遍历下一层。如果不要求区分每一层的话,那么实际上一个队列就能完成。就像经典的树的层序遍历一样,上层的元素肯定首先放入到队列中,下层的元素一定都在上一层元

2013-02-21 10:39:37 1488

原创 Leetcode 74 Search a 2D Matrix

search a 2d matrix这道题乍一看很简单,其实还是有很多细节值得注意的。首先说明,如果题目中是按照C语言的格式给出的matrix,也就是给出int m[][],再给出row和column,那么实际上我们可以将其作为一维数组 int m[row*column],来直接使用二分查找。复杂度是O(log(row*column))从high level讲,程序的思路大致是

2013-02-20 21:39:47 1129

原创 Leetcode 75 Sort Colors

这道题目当然有比较容易想到的方法:首先遍历一遍数组,分别统计0,1,2的个数,然后按照顺序填写在数组相应位置就行了。这个方法显然需要遍历两次数组,有没有遍历一次就可以的方法呢?联想到我们在quick sort的时候选取pivot并且partition的思路,我们这里也可以借鉴一下。不过,知其然,也要知其所以然,一开始按照partition的思路写下了程序,却怎么也通不过,仔细研究了

2013-02-20 20:55:53 5661 1

原创 Leetcode 127 Word Ladder I

这道题目推荐和Leetcode 102 Binary Tree Level Order Traversal(http://blog.csdn.net/zxzxy1988/article/details/8597354)连起来看这道题目首先想到的是DFS,或曰backtracking,也就是每次都找到一个可能的路径,最后比较所有路径中最小的就是题目所求。这样做显然需要较多的时间,因为我们

2013-02-19 17:05:19 18261 4

原创 Steps for install libnfc in Ubuntu:

1.Install libtool:$sudo apt-get install libtool2.Install libudev-dev:$sudo sudo apt-get install libudev-dev  3. Install libusb:$ sudo apt-get install libusb-dev libpcsclite-dev$ sudo a

2013-02-19 11:57:19 1386

原创 Leetcode 79 Word Search

通过这道题目,加深了对backtracking的理解。其实,就像武侠小说中说的,手中无剑,心中有剑。backtracking本来没有什么模式可言,题目不同,条件不同,那么程序自然也就不一样。当然在很多典型情况下还是有模板的,但是,本题却不好利用模板。没有显而易见的isValid函数,当然该递归还是递归的。那么真正以不变应万变的是什么?丰富的经验,明确的思路,大概才是王道吧。

2013-02-18 22:03:32 854

原创 Leetcode 128 Longest Consecutive Sequence

一个小技巧:涉及到O(n)时间,并且还是unordered的东西,可以考虑一下Hash。对于本题而言,如果是O(n*logn)的时间,还是很好做的——先排序,然后检查。那么,能否用O(n)的时间来做呢?我们可以用一个HashTable来将所有的数据存储起来。关键问题是,我们如何用O(1)时间来判断连续性?或者说,对于n个元素,查找连续序列的时间能否也是O(n)?从某个元素开始递增寻找?那时

2013-02-18 20:55:28 3864 2

转载 How to install and use GCC g++ v4.7 and C++11 on Ubuntu 12.04

from: http://charette.no-ip.com:81/programming/2011-12-24_GCCv47/How to install and use GCC g++ v4.7 and C++11 on Ubuntu 12.04 (beta)2011-12-24_GCCv47.cppSummaryI had a bit of extra spare

2013-02-18 20:25:58 1575

原创 Leetcode 19 Remove Nth Node From End of List

This question is quite easy, we could use the method of two pointers to solve it. Actually, we can use two pointers to solve most of the list questions.Pay attention to the use of "nodePre", which

2013-02-18 14:33:17 906

原创 Leetcode 4 Median of Two Sorted Arrays

今天发现了leetcode上面一道题,觉得非常经典,记录之。题目是这样的:给定两个已经排序好的数组(可能为空),找到两者所有元素中第k大的元素。另外一种更加具体的形式是,找到所有元素的中位数。本篇文章我们只讨论更加一般性的问题:如何找到两个数组中第k大的元素?不过,测试是用的两个数组的中位数的题目,Leetcode第4题 Median of Two Sorted Arrays方案1:假

2013-02-18 11:20:05 37990 7

原创 Leetcode 37 Sudoku Solver

做了这道题,对backtracking的理解又加深了一点点。1 每个backtracking的题目,最好都有独立判断isValid的程序,这样架构清楚。同时,valid判断函数在这里可以稍微研究一下。只要当前要判断的位置上的数值和本行没有重复,本列没有重复,九宫格没有重复就可以。一旦重复立即返回,减少判断次数。2 backtracking的递归函数,怎么能没有返回值呢?!因为要判断递归的方

2013-02-17 21:53:25 9381 4

原创 Leetcode 49 Anagrams

前几天面试,被面试官问到这个问题,虽然思路说出来了,不过...代码写不出来。为什么?因为对Hash的具体实现不熟悉!上天保佑我过了面试吧。。回来又练习了一下哈希表的操作。不得不说C++就是强大,比C强多了,尤其是STL。路漫漫啊。程序的基本思路:首先对给定的每个string排序,然后将排序好的元素作为key,value为元素在原vector中的下标(这样方便以后取数据)。将所有元素放入之后

2013-02-17 20:15:12 1155

转载 ubuntu 12.10 linux下通过chrome买火车票的方法

常规登陆会出现“无法显示此网页 网址为 https://dynamic.12306.cn/otsweb/ 的网页可能暂时无法连接,或者它已永久性地移动到了新网址。错误 501 (net::ERR_INSECURE_RESPONSE):未知错误。”;单独打开窗口会出现“服务器证书无效 您试图访问 dynamic.12306.cn,但服务器提供的证书无效。”其实我们可以有更简单的方法:直接

2013-02-16 15:32:37 1319

原创 Leetcode 52 N-Queens II

又练习了一下backtracking,算是一遍通过。几个注意的地方:1. 使用了动态数组之后,注意memset一下清零(三个参数依次是:指针,要设置的值,长度)2. 注意从第0个Queen开始放,这样便于理解和编程。3. 注意isValid函数。一般在backtracking中,最好都有这样一个函数,便于程序的结构化。4. 本次使用的是recursion,其实backtrack

2013-02-14 14:29:53 618

原创 Leetcode 108 Convert Sorted Array to Binary Search Tree

we could use Divide and Conquer.we could do it recursivelypick the middle element as the rootthen pass the left to the sortedArrayToBST, the array is from 0 to mid-1pass the right to sortedArr

2013-02-14 09:06:13 580

转载 GPG error 解决方案

错误提示:GPG 错误:http://mirrors.163.com maverick-updates Release: 下列签名无效: BADSIG 40976EAF437D05B5 Ubuntu Archive Automatic Signing Key @ubuntu.com>修复方法gp

2013-02-13 16:19:41 4653

原创 Leetcode 46/47 Permutations, Permutations II

今天做了Leetcode,还挑了一个比较简单的....Permutations几个注意点:1.用next permutation做2.注意swap的时候的下标号3.注意判断数组是否遍历完毕的时候(70行),判断依据是i(因为数组遍历完还没有找到条件,所以i已经超出了范围!)4.如果给定的数组有重复元素,这种方法也是可以生成所有的排列的(所以permutaions II也可以

2013-02-12 16:32:28 1009

原创 2013校园招聘——微软PM面试经历

从9月底参加微软的笔试,到今天(11月21日)间隔整整两个月,微软这效率....今天就问HR说为什么这么晚才面试,HR说,因为PM的人都比较忙,时间协调起来很麻烦。不过HR又说,PM很重视这次招聘,光是内部的协调会就开了好几次,囧....废话不多说,上干货。我们面试的制度是这样的,上午十一点开始面试,11~12一场,12~下午一点一场,然后等通知。如果上午两面都通过的话,下午会有一轮面试(我的

2012-11-21 19:46:44 2305

linux下cc2500驱动编写 2012年5月4日更新

linux下cc2500驱动编写 代码 分析请见 http://blog.csdn.net/zxzxy1988/article/details/6929065

2012-05-04

在mini2440上面搞定CC2500驱动

自己写的基于mini2440开发板的cc2500的驱动,以及应用程序(实现mac层协议解析)

2011-11-02

Doxygen使用教程(个人总结).doc

Doxygen使用教程(个人总结).doc

2011-08-10

linux内核代码完全注释(0.11)

linux内核代码完全注释,赵炯先生的,3.0版本,对应linux0.11版本的代码

2011-07-17

直流电机PWM闭环调速系统.pdf

推出一种使用单片机的PWM 直流电机闭环调速系统。本系统结构简单, 价格低廉, 在实际应用中效果良好。

2010-01-01

串口资源调试助手,还是很好用

串口资源调试助手,还是很好用,里面包含两个文件,uartassist和netassist

2009-12-16

MOSFET为什么需要驱动

呵呵,这个问题原来有点不明白,后来清楚了,和大家分享!

2009-10-06

为什么要用0欧电阻?

这个问题困扰了我很长时间,和大家一起分享

2009-10-05

放大器电路设计中常见问题

大家经常遇到运放吧,呵呵,这个很系统的描述了我们可能遇到的问题~

2009-09-14

空空如也

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

TA关注的人

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