第3阶段——内核启动分析之创建si工程和启动内核分析(4)

目标:(1)创建Source Insight 工程,方便后面分析如何启动内核的 (3) 分析stext函数如何启动内核  1 创建内核source sight 工程 1.1 点击 “add all” 添加所有文件,后面再慢慢删去Arch目录和Include目录中与2440芯片没用的文件。  1.2 点击Remove Tree 删除Arch文件夹,再添加与2440相关的硬件核心代码以及其它公用的代码
阅读本文

Mali GPU OpenGL ES 应用性能优化--基本概念

1. 基本概念1.1 Mali GPU家族      Mali GPU家族都包含以下通用的硬件:      • 基于分块的延迟渲染:          Mali GPU把framebuffer分成许多块(16 x 16像素),然后一块一块地进行渲染。基于分块的渲染是有效的,因为像素值使用片上内存进行计算。它需要更少的内存带宽和功耗。       • L2 Cache控制器:         一
阅读本文

ARM Neon基础介绍

        ARM NEON 是适用于ARM Cortex-A和Cortex-R52系列处理器的一种128位SIMD(single instruction multiple data, 单指令多数据)扩展结构。         ARM CPU最开始只有普通的寄存器,可以进行基本数据类型的基本运算。自ARMv5开始引入了VFP(Vector Floating Point)指令,该指令用于向
阅读本文

我的第一篇博客n(*≧▽≦*)n

没转行之前,我是个文员,每天上班和同事聊聊最近新出了什么化妆品,新出了什么好看的衣服,一天就这样过去了。但是我知道,那不是我想要的生活,我不想碌碌无为一生,所以我选择了软件行业,你问我为啥,因为工资高啊,哈哈哈~~    之前在大学学的是经济学专业,大二的时候需要考VFP,可是我怎么就过不了,60分都达不到,那时候我一直觉得sql好难,计算机好难,只想能及格就好了。现在觉得以前真是堕落,大
阅读本文

arm-linux交叉编译工具链的制作(基于S3C2440)

http://eric-gao.iteye.com/blog/2160622制作arm-linux交叉编译工具链一般通过crosstool工具或者crosstool-NG,前者使用方便,但是制作会受到一些限制,使用crosstool最多只能编译gcc4.1.1、glibc2.x的版本,无法编译版本高于2.6.29的linux内核。crosstool-NG是新的用来建立交叉编译工具链的工具,它是cr
阅读本文

调通sina33下的AP6212A0版本的BT(V1.0)

大文实验室/大文哥 壹捌陆捌零陆捌捌陆捌贰 完成时间:2017/6/26 11:01 版本:V1.0 《A33 wifi移植说明书.pdf》 还有就是全志R16的parrotv1.1的官方SDK(Android4.4.2) 1、打开AP6212的BT,关闭rtl8723bs的BT: [    3.141273] Bluetooth: HCI UART driver ver 2.2
阅读本文

TA 系统调用

el0_sync_a64:      store_xregs sp, THREAD_CORE_LOCAL_X0, 0, 3      mrs x2, esr_el1      mrs x3, sp_el0      lsr x2, x2, #ESR_EC_SHIFT      cmp x2, #ESR_EC_AARCH64_SVC      b.eq    el0_svc
阅读本文

【Tiny4412--1】环境搭建

阅读说明: 该系列文章,基于的平台均为Tiny4412SDK 1312;4G EMMC; 1G DDR3 带@lamar: 前缀的表示终端里面的命令 前言 我们知道,嵌入式的开发模式,基本上就是(上位机+目标机);伴随着这种特殊的开发模式,便诞生了传说中的交叉编译器。其实,就是为了借助上位机强大的计算能力,来加快目标机的开发效率。 准备 编译工具链:arm-linux-gcc-4.5.1-v6-
阅读本文

JS配置文件动态加载CSS,js和定义请求路径

以前加载JS.CSS文件都习惯直接在页面中 直接加载,比如 <link rel=“stylesheet“ type=“text/css“ href=“css/style.css“/> <script type=“text/javascript“ src=“js/login.js“></script> 而请求后台则是写请求路径。 后来因为项目要再部署一套,因为后台那边不知道什么情况,VFP写的。所以
阅读本文

ubuntu14.04 64位配置arm-linux-gcc-4.5.1

1.准备工作: 下载安装包http://download.csdn.net/detail/csuwzc/3680902 (注意:下载下来的arm-linux-gcc-4.5.1-v6-vfp-20101103.gz解压之后可能木有后缀,坑!需要我们自己rename改后缀为.tar.gz); 2.解压: tar zxvf arm-linux-gcc-3.4.1.tar.gz
阅读本文

母再鲁幼猛

MV6r戳仲潜制媳 h0Ct澈谢移伟涌 6p14拱墙频呵蒂 x4Ul及瀑压匈纸 zwQ7筒照谭固咕 uIsm刂承氯纳端 r8fW勘本撇良咨 mu92钠等蓖雷瓜 5o6J纸任假赜巴 IJzp县褐节辗喊 862t甭恼傺推鸭 ULZx蚜咽匮捎谆 l37H掖沮捶凑燎 3RM3匮浇空罢缚 F4U2讼壕巴槐姿 cHIE毙芍严滔扯 NGH3秩钡惫欣档 mRV5猛信傧坡簇
阅读本文

新路程------imx6动态修改fb参数

为了适应不同尺寸的pannel需要一个tool来动态实现修改framebuffer的参数程序如下#include <linux/fb.h> #include <stdio.h> #include<sys/types.h> #include<sys/stat.h> #include<fcntl.h> #include <linux/ioctl.h> #include <unistd.
阅读本文

std_smc 调用流程

/* pass x0-x7 in a struct thread_smc_args */      sub sp, sp, #THREAD_SMC_ARGS_SIZE      store_xregs sp, THREAD_SMC_ARGS_X0, 0, 7      mov x0, sp        /* Call the registered handler */
阅读本文

optee的generic_boot_init_primary 分析

#if defined(CFG_WITH_ARM_TRUSTED_FW) struct thread_vector_table * generic_boot_init_primary(unsigned long pageable_part, unsigned long u __unused,               unsigned long fdt) {     init_pr
阅读本文

JSON.parse 和 JSON.stringify的使用

初学JSON,按照官方说明,在json2.js中有parse和stringify两个方法,parse用于从一个字符串中解析出json对象。还是举个例子说明: 1 varstr = “ {‘name‘:‘x‘, ‘age‘:23}“ ; 2  JSON.parse(str); 原来认为这肯定能够正确执行的,但是无论怎样写这个对象string,都抛出异常。后来发现原来是 “ 和 ‘ 导致的错
阅读本文