- 博客(304)
- 资源 (8)
- 收藏
- 关注
原创 Keil Debug(printf) Viewer的使用
在Keil IDE中,如何用printf向Debug(printf) Viewer窗口打印结果?
2017-09-21 22:55:32 23253 5
原创 活用内核链表解决约瑟夫斯问题
约瑟夫斯问题(有时也称为约瑟夫斯置换),是一个出现在计算机科学和数学中的问题。在计算机编程的算法中,类似问题又称为“约瑟夫环”,也有的地方叫做“丢手绢”。问题是这样的: 有编号从1到n的n个人围坐成一圈。从编号为1的人开始报数,报到m的人出局,下一位再从 1 开始报数,报到 m 的人出局,……如此持续,直到剩下一人为止,假设此人的原始编号是x。给定 n和 m,求出x。
2017-09-07 23:14:06 565
原创 程序员面试系列——有符号数的溢出
请看这样一道题:#include <string.h>#include <stdio.h>int main(void){ signed char a[1000]={0}; for(int i=0; i<1000; ++i) a[i] = -1 - i; printf("%lu\n",strlen(a)); return 0;}请问此程序输出什么
2017-09-06 21:31:41 2681
原创 程序员面试系列——合并排序(递归实现)
合并排序,或者叫归并排序,在算法思想中属于分治法。对于一个需要排序的数组,合并排序把它一分为二,并对每个子数组递归排序,然后把这两个排好序的子数组合并为一个有序数组。本文要介绍两种实现,都是基于递归(自顶向下)。这两种实现没有本质的差别,第二种只是为了节省内存,提高效率。
2017-08-09 00:21:40 916
原创 程序员面试系列——插入排序
插入排序在算法思想中属于“减治法”。减治法的基本思想是:规模为n的原问题的解与较小规模的子问题的解之间具有某种关系。由于存在这种关系,所以只需求解其中一个较小规模的子问题就可以得到原问题的解。插入排序就是基于“减治法”中的“减一技术”实现的。
2017-07-26 21:48:54 702
原创 程序员面试系列——选择排序
选择排序也属于蛮力法。 首先,扫描整个列表,找到最小的元素,将其和第一个元素交换位置;然后从第二个元素开始扫描列表,找到最小的元素,再将其和第二个元素交换位置……直到从倒数第二个元素开始扫描列表,找到最小的元素,将其和倒数第二个元素交换位置。
2017-07-24 22:26:50 421
原创 程序员面试系列——冒泡排序
虽然冒泡排序是排序算法里面最简单的一种,但是不可轻视。我在应届生的面试和社招的面试中,都被问到了冒泡排序。基本思想:冒泡排序属于蛮力法,它比较表中的相邻元素,如果它们是逆序的话就交换它们的位置。重复多次后,最终,最大的元素就“冒”到列表的最后一个位置。第二遍操作将第二大的元素“冒”出来。这样一直重复,直到n-1遍(列表共有n个元素)以后,该列表就排序好了。
2017-07-23 21:43:19 1580
原创 程序员面试系列——约瑟夫环
约瑟夫斯问题(Josephus Problem)约瑟夫斯问题(有时也称为约瑟夫斯置换),是一个出现在计算机科学和数学中的问题。在计算机编程的算法中,类似问题又称为“约瑟夫环”,也有的地方叫做“丢手绢”。问题是这样的: 有编号从1 到n的 n个人围坐成一圈。从编号为1的人开始报数,报到 m 的人出局,下一位再从 1 开始报数,报到 m 的人出局,……如此持续,直到剩下一人为止。
2017-07-17 22:39:14 1361
原创 程序员面试系列——单链表的反转
单向链表的反转(或者叫逆置)是经常被问到的考题。建议考前临阵磨枪,强背一波。代码说明:void reverse_list(node_t *head)此函数实现带头结点(也叫表头、哑结点)的单链表的反转。 head是头结点的地址。
2017-07-12 23:17:43 522
原创 patch命令用法
作为程序员,了解diff和patch命令是非常必要的。比如说发现某个项目有bug,而自己又没有提交权限,此时最合适的解决方法就是用diff命令做一个补丁发给组长。组长看到补丁后会立刻明白你的意图。 有人说直接传一个工程不就完了?不要忘了,补丁文件尺寸更小传输更快,而且可以明显看到都做了哪些修改。就算你把修改后的工程传过去,组长还需要用对比工具查看做了哪些修改,这样费时费力。
2017-07-02 20:20:33 26094 4
原创 用diff命令制作补丁
diff命令及常用选项命令格式diff [选项] old_file new_file以上old_file 和new_file可以是文件,也可以是文件夹。常用选项 选项 说明 -r 递归比较各子目录下的文件 -N 将不存在的文件当作空文件 -u 默认输出每个修改前后的3行,也可以用-u5等指定输出更多上下文。 -B 忽略对空行的比较 -w 忽略所有空格和制
2017-07-02 17:47:51 2947
原创 面对offer,如何选择
不管是应届生还是有工作经验的人,在求职时都会面临offer(假如有多个)的选择问题。即使不是多个offer,在工作机会出现的时候,如何决定去留呢?究竟选哪个公司?是留在这个公司还是离职去其他公司?当你纠结的时候,“生涯决策平衡单”帮你拿主意,变“纠结”为“理智的选择”。你最看重什么不同的人对工作的期待是不一样的:有人觉得一定要少加班,按时上下班最好;有人觉得一定要有兴趣,工作内容必须是自己喜欢的;有
2017-07-02 00:09:42 1163
原创 ARM MOV指令对立即数的要求
MOV R1,#9 以上指令表示把9传送到寄存器R1中。需要注意的是,这里的立即数是有要求的,不是说任何一个立即数都可以。要求是:立即数可以由一个8位的常数循环右移偶数位得到。其中循环右移的位数由一个4位二进制的两倍表示。如果立即数记作immediate,8位常数记作immed_8,4位的循环右移值记作rotate_imm,则 immediate=immed_8循环右移(2*rotate_imm
2017-05-31 22:35:25 8876
原创 Linux bzip2/gzip/zip/tar 命令详解
Changelog 版本 时间 修订章节 1.0 2018-3-24 添加了关于xz的内容Linux文件压缩工具 工具 文件扩展名 描述 bzip2 .bz2 采用 Burrows-Wheeler 块排序文本压缩算法和霍夫曼编码 gzip .gz GNU压缩工具,用 Lempel-Ziv-Welc...
2017-05-16 20:18:53 3652
原创 烧写文件系统——韦东山嵌入式Linux学习笔记11
本文实验环境: 1. windows 7(64bit) 2. JZ2440(V2)使用 u-boot 烧写文件系统,一般有两种方法。 1. 通过USB下载功能 2. 通过TFTP功能通过USB下载功能烧写文件系统这种方法比较简单。
2017-05-07 16:09:23 1511
原创 使用 u-boot 烧写内核——韦东山嵌入式Linux学习笔记10
本文实验环境: 1. windows 7(64bit) 2. JZ2440(V2)使用 u-boot 烧写内核,一般有两种方法。 1. 通过USB下载功能 2. 通过TFTP功能通过USB下载功能烧写内核操作步骤:
2017-05-07 11:37:56 1803
原创 使用u-boot的tftp下载功能烧写程序到Nand Flash ——韦东山嵌入式Linux学习笔记09
本文实验环境: 1. windows 7(64bit) 2. JZ2440(V2)操作步骤: (1)设置好开发板和PC的IP地址,使开发板可以 ping 通 PC (2)启动软件tftpd32,选择要下载的程序所在的目录 ......
2017-05-06 23:05:01 2814
原创 开发板、Windows、Ubuntu三者互联——韦东山嵌入式Linux学习笔记08
实验环境: 1. Windows7 2. VMware12.0+Ubuntu 3. JZ2440实现开发板、Windows、Ubuntu三者互联(板子可以 ping 通 Win 和 Ubuntu,Win 和 Ubuntu 也能互相 ping 通)。
2017-05-06 22:20:03 2255
原创 板子ping不通PC怎么办——韦东山嵌入式Linux学习笔记07
实验环境: 1. JZ2440 2. Win7如果想用 u-boot 的 tftp 下载功能,那么一定要保证板子可以 ping 通 PC.一般来说,家用PC都是通过路由器上网的。针对这种情况,我想到了3种方案以解决板子和PC的互联。
2017-05-06 15:13:04 12475 2
原创 如何查看内核版本和ubuntu版本
想查看内核版本,可以用命令 uname -r想查看Ubuntu的版本,可以用命令 lsb_release -a
2017-05-05 23:17:38 3268
原创 虚拟机上的Ubuntu如何无线上网
实验环境: 虚拟机软件:VMware 12 客户机:Ubuntu 14.04 主机:win7 设置步骤如下: (1)虚拟机的网络适配器设置为桥接 (2)在虚拟机的主菜单中,【编辑】–>【虚拟网络编辑器】, 找到“桥接到”,选择你的无线网卡。
2017-05-05 23:06:05 1860 2
原创 使用u-boot的USB下载功能烧写程序到Nand Flash ——韦东山嵌入式Linux学习笔记06
本文实验环境: 1. windows 7(64bit) 2. JZ2440(V2)假设板子的Nor Flash上已经烧好了u-boot,如果我想利用u-boot的USB下载功能,把一个裸板程序烧写到Nand Flash,应该如何操作?
2017-05-02 22:37:14 3157
原创 win7下不能使用dnw烧写的解决办法——韦东山嵌入式Linux学习笔记05
本文实验环境: 1. windows 7(64bit) 2. JZ2440对于Win7 64bit,没有供dnw调用的USB驱动,如何解决?
2017-05-02 21:54:12 4020
原创 用J-Link烧写u-boot到Nor Flash—— 韦东山嵌入式Linux视频学习笔记04
说明:本文的实验环境为Windows7+JZ2440J-Link 只支持烧写 Nor Flash,不支持烧写 Nand Flash(为什么呢?先不探究原因)。 如果想烧写程序到Nand Flash,我们可以先用J-Link 烧写u-boot.bin到Nor Flash,然后利用u-boot提供的功能,烧写程序到Nand Flash.J-Link烧写u-boot到Nor Flash的步骤
2017-05-01 22:59:58 1625
原创 开发板的I/O在哪里——韦东山嵌入式Linux视频学习笔记01
一般来说,串口就是开发板的I/O(输入输出)接口。我们可以通过串口向板子发送命令,也可以通过串口把板子的状态信息打印出来。
2017-04-22 22:46:28 1809
原创 关于JTAG——韦东山嵌入式Linux视频学习笔记02
1. JTAG的字面意思2. JTAG标准3. JTAG引脚定义4. JTAG的用途5. JTAG测试芯片的原理——边界扫描6. 为什么JTAG可以烧写Flash?7. JTAG接口与PC的连接8. JTAG调试器算不算ARM仿真器?
2017-04-22 21:11:39 2319
原创 人一能之,己百之;人十能之,己千之
人一能之,己百之;人十能之,己千之。果能此道矣,虽愚必明,虽柔必强。 ——《礼记·中庸》参考译文:别人一次能做好的,我一百次才能做好;别人十次能做好的,我一千次才能做好;假如能明白这个道理,虽然愚蠢,必将聪明;虽然弱小,必将强大。对于“人一能之
2017-04-22 16:36:18 3413
原创 显存文本模式详解 ———《x86汇编语言:从实模式到保护模式》读书笔记补遗02
文章修改记录 修改日期 修改内容 2018-2-4 修改了一处错别字;增加了表格的使用方法今天我们讨论如何编程以在屏幕上显示出彩色的文字。为了显示文字,通常需要两种硬件——显示器和显卡。 显卡的作用是为显示器提供要显示的内容,并且控制显示器的模式和状态。 显示器的作用是把那些内容以人们可见的方式呈现在屏幕上。1.显存每个显卡都有自己的存储器,
2017-04-15 22:16:44 5971 2
原创 x86汇编如何延时
思路一:NOP指令联合循环来延时 思路二:利用BIOS中断关于思路一,因为循环次数不好把握,这里就不尝试了。关于思路二: 中断号:15H 入口参数: (1) AH:86H (2) CX:DX= 延时时间(单位是微秒),CX是高字,DX是低字
2017-04-12 23:42:58 6539 2
原创 汇编语言Makefile
SRC=$(wildcard *.asm)OBJ=$(patsubst %.asm,%.bin,$(SRC))LIST=$(patsubst %.asm,%.list,$(SRC))CC=nasm$(OBJ): $(SRC) $(CC) -f bin $^ -o $@ -l $(LIST) dd if=$(OBJ) of=a.img.PHONY:cleanclean:
2017-04-09 16:27:30 2347 1
原创 乌比冈湖效应
什么是乌比冈湖效应乌比冈湖效应(Lake Wobegon Effect),也称沃博艮湖效应,简而言之,就是“高估自己的实际水平”,或者说人有一种“在某些方面(甚至是所有方面)觉得自己高出平均水平的心理倾向。举例来说吧。90%的人认为自己的驾车技术高于平均水平。在澳大利亚,86%的人认为自己的工作业绩高于平均水平,只有1%的人认为自己低于平均水平。哈哈哈,是不是很荒谬?名称
2017-03-27 23:20:23 4947
原创 Virtual Box上的Ubuntu与Win7共享文件夹
和VMware相比,Virtual Box设置共享文件夹还是比较麻烦的。搜索一番,众说纷纭,经过试验,我把一种可行的方法总结如下。首先说一下我的软件环境: 主机:win7 64位 虚拟机:Virtual Box 5.1.14(下文简称vbox) 客户机:Ubuntu 16.04问题:假设我的主机上有一个文件夹D:\book,如何让客户机和主机共享这个文件夹?
2017-03-18 17:25:08 1561 2
themes.zip
2020-04-12
《从实模式到保护模式》第14章的代码(修改版)
2016-06-04
《从实模式到保护模式》配书源码和工具
2016-01-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人