嵌入式
finleyzhang
Everything you can do I can do better
展开
-
__attribute__对齐属性的理解
下面的例子中使用__attribute__属性定义了一些结构体及其变量,并给出了输出结果和对结果的分析。程序代码为:struct p{ int a; char b; char c;}__attribute__( ( aligned(4) ) ) pp;struct q{ int a; cha原创 2013-11-28 14:55:41 · 655 阅读 · 0 评论 -
Linux用户态和内核态内存管理技术
通常程序访问的地址都是虚拟地址,用32位操作系统来讲,访问的地址空间为4G,linux将4G分为两部分。如图1所示,其中0~3G为用户空间,3~4G为内核空间。通过MMU这两部分空间都可以访问到实际的物理内存。进程在用户态只能访问0~3G,只有进入内核态才能访问3G~4G *进程通过系统调用进入内核态 *每个进程虚拟空间的3G~4G部分是相同的 *进程从用原创 2014-12-10 16:09:01 · 2834 阅读 · 0 评论 -
linux下 fork(),vfork(),clone()的用法及区别
fork,vfork,clone都是linux的系统调用,用来创建子进程的(确切说vfork创造出来的是线程)。先介绍下进程必须的4要点:a.要有一段程序供该进程运行,就像一场戏剧要有一个剧本一样。该程序是可以被多个进程共享的,多场戏剧用一个剧本一样。b.有起码的私有财产,就是进程专用的系统堆栈空间。c.有“户口”,既操作系统所说的进程控制块,在linux中具体实现是task_st原创 2014-11-18 16:07:34 · 479 阅读 · 0 评论 -
嵌入式Linux之我行——ARM MMU工作原理剖析
一、MMU的产生 许多年以前,当人们还在使用DOS或是更古老的操作系统的时候,计算机的内存还非常小,一般都是以K为单位进行计算,相应的,当时的程序规模也不大,所以内存容量虽然小,但还是可以容纳当时的程序。但随着图形界面的兴起还用用户需求的不断增大,应用程序的规模也随之膨胀起来,终于一个难题出现在程序员的面前,那就是应用程序太大以至于内存容纳不下该程序,通常解决的办法是把程序分割成许多转载 2014-10-09 09:58:59 · 520 阅读 · 0 评论 -
JPEG图像的解压缩操作
解压缩操作过程1. 为JPEG对象分配空间并初始化2. 指定解压缩数据源3. 获取文件信息4. 为解压缩设定参数,包括图像大小,颜色空间5. 开始解压缩6. 取出数据7. 解压缩完毕8. 释放资源 为JPEG转载 2014-06-23 21:44:49 · 595 阅读 · 0 评论 -
分析uboot是如何启动内核的
1.uboot启动内核的代码缩减如下:s = getenv ("bootcmd");debug ("### main_loop: bootcmd=\"%s\"\n", s ? s : "");if (bootdelay >= 0 && s && !abortboot (bootdelay)){ run_command (s, 0);}2.假设boo转载 2014-04-28 10:13:07 · 525 阅读 · 0 评论 -
Qt Creator的配置和开发初步测试
关于编译与安装的内容请参考:Linux 下编译、安装、配置 QT交叉编译QT 4.8.3本篇博客主要记录3方面的内容1、Linux下Qt Creator的配置,这部分是以前面两篇文章的工作为基础,进行一些细节配置.2、分别运行桌面版和开发板上的小程序,验证QT的跨平台特点。3、安装Windows下的开发环境,此部分也是基于Qt Creator 有了L原创 2014-04-02 13:24:16 · 603 阅读 · 0 评论 -
QT在windows下的安装与配置
先了解Qt: Qt一直以来,分为商业、开源两个版本,商业版本为用户提供了二级制的动态库,直接安装既可以使用,但是需要花钱购买license,而开源版本则遵守GPL协议,提供了源码,用户需要自行编译,才能生产动态库文件。自从诺基亚公司放弃Meego、遣散Qt开发团队以后,Qt商业版本的网站移到了qt.digia.com,而开源版本则放到了qt-project.org转载 2014-04-02 13:22:24 · 511 阅读 · 0 评论 -
VMware虚拟机配置Ubuntu桥接方式(Bridged)使虚拟机和宿主机能互相ping通
1、设置Bridged上网方式Vmware菜单栏VM->settings->Network Adapter或者Ctrl+D2、查看Bridged状态Vmware菜单栏Edit->Virtual Network Editor要设置成以上bridged模式,先关闭虚拟机,不关闭设置会提示只有虚拟机在power off状态才能设置,选择VMnet0,点击左下角的Restore转载 2013-12-12 21:19:56 · 908 阅读 · 0 评论 -
TMS320F28335学习笔记-启动过程
1.DSP reset后运行的起始地址是多少?0x3FFFC02.仿真器烧写程序的步骤是?根据cmd文件把程序烧到指定位置,然后执行。3.DSP的Flash启动过程是什么?首先硬件配置GPIO84~87上拉为1,即处于Flash启动过程。当DSP复位后,会从复位向量0x3FFFC0处取得复位向量,并跳转到InitBoot处开始执行,InitBoot会读GPIO84~87的值发现全为1判断为Flash转载 2016-05-26 20:19:27 · 1168 阅读 · 0 评论