自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

fancong5201314的专栏

我的嵌入式学习之路

  • 博客(27)
  • 资源 (21)
  • 收藏
  • 关注

原创 我的嵌入式学习之路——笔记计划

从华清远见培训回来已经一个星期了!两个月的培训让我学到了很多,学习的量很大,东西也很杂。幸好,还有四个月的时间缓冲期(我是先去培训2个月,回到学校学习四个月之后再去培训剩下的2个月)。所以,准备花两个月的时间,把自己所学的知识好好整理一下,所以准备在51CTO上写一写我的学习之路,一来,可以复习巩固一下自己所学的;二来可以让高手指导一下我的不足!    两个月的时间,我们学习了C语言中的重难点

2013-09-07 18:23:32 1157

原创 我的项目总结

我的项目总结        经过近一个月的时间,我们的最后一个项目《基于Linux B/S架构的物联网仓库管理系统》最终得以实现。基于Cortex-A8三星s5pc100平台构建核心服务器,通过低功耗的ZigBee技术将多个仓库中CortexM0采集到的数据发送到控制平台,并利用Internel、WiFi、GPRS等手段实现物联网,最终实现物联网仓库管理系统。项目的具体时间是2月24号到3

2014-03-16 12:58:51 1594 1

原创 系统移植第五天

系统移植第五天printk    1. 总的框架,见《printk工作原理》    2. 查看console级别       cat /proc/sys/kernel/printk    3. 改console级别       echo "6" > /proc/sys/kernel/printk           4. 可以不从console输出消息,从/pr

2014-02-23 19:46:18 1020

原创 系统移植第四天

系统移植第四天内核的配置编译[1]拷贝linux-2.6.35-farsigt.tar.gz 到虚拟机[2] tar xvf linux-2.6.35-farsigt.tar.gz[3] 配置交叉编译器在Makefile中,修改如下:ARCH ?= armCROSS_COMPILE ?= arm-cortex_a8-linux-gnueabi

2014-02-23 19:45:06 986

原创 系统移植第三天

系统移植第三天 为什么有全局数据结构?    帮助消除BSS段和DATA段,因为BSS段和DATA段必须放内存中才能运行,因为我们可能出现代码直接放在Norflash上面运行,这样的话我们就需要将BSS段与DATA段和代码段分开存放运行,    这样非常麻烦,所以我们要尽可能消除BSS段和data段,即:不定义全局变量和静态局部变量,需要的全局数据放入全局数据区bootm指

2014-02-23 19:44:22 1161

原创 系统移植第二天

系统移植第二天nfs挂载根文件系统[1] 设置运行命令    setenv bootcmd tftp 20008000 zImage\;go 20008000    tftp 20008000 zImage 从虚拟机下载zImage到开发内存20008000    go 20008000 直接在内存启动内核[2] 拷贝rootfs.tar.gz到虚拟机的/sourc

2014-02-23 19:42:47 1344

原创 系统移植第一天

系统移植第一天[总体概述][1] BootLoader    1. 初始化硬件(启动操作系统需要用到的硬件)    2. 启动操作系统(内核)   [2] Kernel    裸机程序,管理整个计算机上的所有软件和硬件    文件管理    进程(任务)管理    内存管理    输入输出管理    网络管理   [3] 文件系统   

2014-02-23 19:41:18 1769 1

原创 一道面试题引发的思考

一道面试题引发的思考题目:以下代码结果是多少? # include using namespace std; int func(int x){    int count = 0;    while(x)    {        count ++;        x=x&(x-1);    }    return count;

2014-02-23 19:35:25 1416

转载 驱动第十一天

驱动第十一天/*****************************网络设备驱动***********************************//* *基础知识: *(1)linux内核中的网络子系统被设计成完全与协议无关,该思想应用于网络协议(IP、IPX及其他协议) *    和硬件协议中(以太网、令牌环等),内核与网络驱动程序之的交互,可能每次处理的是一个

2014-01-19 16:41:34 4400

原创 驱动第九天

驱动第九天1. 基本上,linux驱动中的所有设备都是挂载在总线上的。2. 字符设备的作用是将文件当作字符设备处理。【ADC指导手册】一、  原理&作用1.    作用模拟电压信号转换为数字信号(1)      原理(2)    积分型(3)     逐次比较型(4)     并行比较型二、 数据手

2014-01-19 16:03:04 1804

原创 驱动第八天

驱动第八天操作IO内存步骤:1. 申请IO内存2. 物理地址和虚拟地址映射3. 操作IO内存4. 解映射5. 释放IO内存关于private_date私有数据:我想在ioctl中获取led的结构地址,可以用下面的路径找到:1. led   -> cdev2. cdev  -> inode3. inode -> open4. led   ->

2014-01-19 15:16:43 1050

原创 驱动第七天

驱动第七天【内存管理子系统】1. 四大地址:物理地址、虚拟地址(线性地址)和逻辑地址   物理地址:出现在CPU地址总线上 的寻址物理内存的地址信号,是地址变换的最终结果。   虚拟地址:又叫线性地址,,在32位 CPU架构下,可以表示4G的地址空间,用16进制           表示就是0x00000000到0xffffffff。   逻辑地址:程序代码

2014-01-19 15:07:49 2066

原创 驱动第六天

驱动第六天【异步通知】 实现图例:    解释: * 应用程序要收到设备发送的信号,必须要完成3步骤: * 1. 应用程序和设备绑定(把应用程序设置成设备的所有者)  * 2. 应用程序通知驱动,绑定异步消息队列到设备  * 3. 发送消息到异步消息队列 * 4. 取消绑定异步消息队列和设备 【中断机制】[1]. 裸机中断执行步骤:

2014-01-14 00:18:50 1770 1

原创 驱动第五天

驱动第五天【自旋锁】    1. 原理                    PV操作原理       记录一个锁定状态(就是一个共享资源,基于原子操作)            2. 适用       1. 解决多cpu之间的竞态       2. 可以解决中断程序和普通程序之间的竞态(自旋锁可以用于中断上下文)       3. 加锁时间不宜过

2014-01-11 10:51:59 1706 1

原创 驱动第四天

驱动第四天【file_operations和cdev的区别和联系】cdev是用来描述字符设备的,而file_operations是用来描述字符设备的操作的。本来cdev是可以直接用来描述字符设备的所有情况的,但是由于在C语言中,结构体是不能有函数的,即字符设备的操作。所以,我们把这个字符设备的操作单独拿出来,装在一个叫做file_operations结构体中,结构体中装的是所有应用程序要操

2014-01-11 10:10:27 897

原创 驱动第三天

驱动第三天【字符设备和块设备的区别】1. 传输速度大小:字符设备是一个字节一个字节传输的,传输速度慢;块设备是以块为单位进行操作的,传输速度快。2. 响应速度:字符设备响应速度快,块设备必须经过系统的快速缓冲,所以响应速度慢。3. 访问顺序:字符设备只能按顺序依次访问设备,块设备则可以随机访问设备。字符设备和块设备之间没有明显的界限,它们之间仅限于驱动与内核的接口不同。

2014-01-04 20:57:29 1658 1

原创 驱动第二天

驱动第二天[1] 划分模块(模块化的编程思想)    把大的任务划分成功能比较独立的模块,模块一般都包含三大部分:    1. 初始化(函数)    2. 功能    3. 退出(函数)   [2] 使用面向对象的编程思想实现模块    一般一个模块就是实现一类对象,面向对象的编程思想,需要:    1. 描述对象       1. 静态特征描述(类/结

2014-01-04 20:48:27 1179

原创 驱动第一天

linux驱动学习的第一天,是一个框架!陆续会有10天的驱动学习笔记!给大家共享一下,也算是自己的一个总结和笔记!

2014-01-04 09:49:32 1689 1

原创 第一天

1. 在《C语言深度》中,我们学习了关于冒泡法和选择法进行排序。现在就用我们学到的知识对一个学生信息进行操作,实现简单的学生信息管理系统。我们使用简单的结构体,结构体中有四个成员:姓名(name)、性别(sex)、年龄(age)、分数(score),然后用冒泡法将学生年龄按照从大到小排列,用选择法将学生成绩按照从小到大排列,最后实现一个简单的查找函search(),实现学生姓名的查找,具体的实

2013-09-10 20:34:05 486

原创 第三天

1.      在位运算和逻辑运算中,我们要知道,当某个变量进行位运算之后,该变量本身不会被修改,只有当该变量被再次赋值之后,该变量的值才会改变。有符号数的移位补的是符号位。对于逻辑运算的短路性大家可以看看下面的实例。#include int main(){ int a = 7,b= 9,c = 0; //逻辑与&& 的短路特性 printf("a > b &&

2013-09-07 23:00:06 654

原创 arm-linux-gcc环境变量安装

一、profile bashrc bash_profile 的区别和联系【转】/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置./etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.~/.bash_prof

2013-09-07 19:36:53 1019

原创 Java面试宝典2013版

项目介绍在进行技术面试前,提醒大家,必须要准备好项目介绍,即需要准备好你的简历中列的所有项目的项目介绍!面试时关于项目,面试官常见的问题及回答(以银行柜台系统为例):    你给我简要介绍一下银行柜台系统?1、简易银行柜台系统是模拟银行柜台的基本功能而做的一个系统。2、系统分前台和后台部分,前台部分是银行柜台人员操作的,包括:注册登录模块、开销户模块、帐号

2013-09-07 19:27:22 2180

原创 关于虚拟机工具VMwareTools

1. 安装VMwareTools的优点a.安装虚拟机工具可以让虚拟机中的系统实现全屏b.可以实现虚拟系统和主机系统的文件共享c.可在主机系统和虚拟系统之间进行复制和粘贴d.在主机和虚拟机之间操作时,不必切换鼠标其实虚拟机工具很多,大家可以百度查查它的其他功能,这里就不一一列举了2. 安装的详细步骤1.点击虚拟机-    安装虚拟机工具2.虚拟机桌面上就会出现一个虚

2013-09-07 19:21:59 666

原创 Linux静态IP设置(tim)-v2.0

这份资料是我们华清远见嵌入式培训讲授C语言的文老师发给我们的,感觉挺好的,现在转发给大家。设定 IP$sudo vi /etc/network/interfacesauto loiface lo inet loopback添加以下内容auto eth0iface eth0 inet staticaddress 192.168.0.221填写自己检查未

2013-09-07 19:20:10 794

原创 环境搭建

一、系统安装我使用的是VMware8下的ubuntu12.04,这是培训老师说的,12.04相对来说,比较新,而且是5年长期支持版,不容易过时。对于系统的安装,我不想说很多,只是希望大家主义这几点:      1.虚拟机的卸载要注意,要卸载干净,不然,下次会安装失败!至于怎么卸载,百度上很多。2.安装好系统之后,首先要装好虚拟机工具,具体的安装方法见我的另外一篇博客《关于Vmwar

2013-09-07 19:04:49 757 1

原创 第二天

1.      C语言的存储类型有这四种:auto,register,,extern和static类型,其中,在缺省的情况下,编译器默认的所有变量都是auto的。而regeister寄存器则是最快的,但是由于其数量很少,所以弥足珍贵。extern是申明外部变量和函数的。static比较复杂,也比较重要,会专门讲解。这里为了测试register和auto的效率,我们做了一下实验。#inc

2013-09-07 18:57:30 584

原创 第一天

首先声明一下,在我们写的程序中,会使用到一个头文件# include 因为,在linux系统编程的时候,会用到很多头文件,为此,我用一个头文件全部包含在一起,头文件内容如下:# ifndef _OK_# define _OK_ # include # include # include # include # include # include # in

2013-09-07 18:46:42 670

我的嵌入式Linux应用开发之路(第二版)

我的嵌入式Linux应用开发之路(第二版),在《我的嵌入式Linux应用开发之路(v1.0)》版本上,添加了关于Linux白皮书的相关资料。至此,Linux系统编程告一段落,相信大家学完这一套资料之后,在Linux应用编程上,会有一个全新的认识,后续我会总结ARM、系统编程和驱动的相关知识,希望大家喜欢!

2013-12-31

linux的进程线程编程(高清书签版)

linux进程线程编程的学习笔记整理!继《linux的IO编程》的第二个大的部分——进程和线程的编程,后序还有《linux的网络编程》正在整理中……

2013-09-24

linux的IO编程(高清PDF带书签版)

linux的IO编程 自己整理总结的!希望大家喜欢!

2013-09-24

C语言学习日记(高清书签版)

自己在培训机构学习时总结的一些资料!写得还行!谢谢大家捧场!

2013-09-24

实例解析linux的IO编程

来源于自己在华清远见培训的笔记整理!希望大家喜欢!

2013-09-16

VI环境配置中的附件

里面有三个文件,是我的博客《环境搭建》中所说的配置文件的附件!

2013-09-07

C语言深度剖(完整影印版)

这本书是网上有名的《C语言深度剖析》电子书的实体书影印版,修改了一些细小的错误,很完整,网上很难得!希望大家喜欢!

2013-09-06

linux系统编程

这篇文档比较全面的描述了Linux的系统编程 全部是结合实例讲解,都是一些牛人的博客里面的 分为IO、进程和线程、网络编程三部分!

2013-08-31

Linux学习笔记完整版

LINUX 学习笔记,主要分为两个部分:Linux百问和shell脚本编程,比较全面,以问题的形式发出!

2013-06-25

基于虚拟机的网络文件系统的挂载

比较详细的Linux嵌入式驱动开发环境的配置中最重要的网络传输的构建,自己写的,比较详细

2013-06-25

嵌入式C语言进阶之道

还是C语言 呵呵 大家好好看看吧!对单片机和嵌入式的过渡比较有作用,希望大家喜欢!

2013-05-07

多任务下的数据结构与算法

对于数据结构,严蔚敏的那本书比较经典,但是,看完这个之后,该如何是好?这个书是个不错的选择!

2013-05-07

Linux_C语言高级进阶就业阶教程

C语言比较好的资料,属于进阶资料,希望大家把C语言学好! 这对嵌入式Linux的学习很重要!

2013-05-07

495个C语言问题

495个C语言知识,你知道多少? 这些问题对于面试 比较重要!

2013-05-07

shell脚本编程最新版

这是我自己根据所学的,和网上的资源总结的shell脚本编程学习,对嵌入式Linux的学习很有帮助!

2013-05-02

shell脚本编程

自己总结的关于shell脚本编程 比较全面 附有近40个源代码

2013-04-27

基于ubuntu的嵌入式环境设置

自己总结的一些Linux的相关设置,包括《Linux设备驱动程序》《Unix环境高级编程》《Unix网络高级编程》的著名Linux文档的环境搭建,Linux内核树的搭建等等!希望大家喜欢!

2013-04-13

超想3000TC单片机开发箱配套源代码

超想3000TC单片机开发箱配套源代码,里面有全部源代码加上一些开发工具,源代码有C和汇编两种,配套使用超想3000开发项实用手册效果更佳!

2013-01-02

超想3000TC单片机开发箱使用手册

超想HK3000TC开发箱手册,里面是一些汇编程序,挺好的,有利于对51单片机的汇编的理解!

2013-01-02

计算机专业英语翻译

计算机专业英语课程设计 外文翻译 3000英文单词左右

2013-01-02

单片机课程设计

利用单片机内部定时器实现简单的时钟,比较简单,适合初学者。格式比较严谨,可以参考!

2013-01-02

空空如也

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

TA关注的人

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