关闭

[置顶] Android 从硬件到应用:一步一步向上爬 6 -- 编写APP测试框架层硬件服务(完)

创建Android Application工程:使用Eclipse的Android插件ADT创建Android工程,工程名称为Gpio,创建完成后将工程目录拷贝到packages/apps/文件夹下,并删除工程目录下的gen文件夹,不删除的话会造成类重复的错误。 src/com/android/gpio/Gpio.java: package com.android.gpio; import...
阅读(1405) 评论(0)

[置顶] Android 从硬件到应用:一步一步向上爬 5 -- 在Frameworks层添硬件服务

Android Frameworks层提供了硬件服务,Android系统APP可以调用这些硬件服务,进而完成硬件的控制,实现应有的功能。接着上一篇,这一篇要在frameworks层为应用提供java接口的硬件服务。cd到frameworks/base/core/java/android/os目录,添加 IGpioService.aidl: package android.os; inter...
阅读(1382) 评论(0)

[置顶] Android 从硬件到应用:一步一步向上爬 4 -- 使用 JNI 方法调硬件驱动

Android下,java应用程序通过JNI方法调用硬件抽象层模块,在Android 从硬件到应用:一步一步向上爬 3 -- 硬件抽象层访问硬件驱动 中我们已经编译好了硬件抽象层模块,下面就要开始为HAL层编写JNI方法,为上层提供服务。 cd到frameworks/base/services/jni目录中,新建一个com_android_server_GpioService.cpp文件:...
阅读(1567) 评论(0)

[置顶] Android 从硬件到应用:一步一步向上爬 3 -- 硬件抽象层访问硬件驱动

Android 标准的硬件驱动分为两个部分,一个是运行在linux内核里的硬件驱动,而另外一部分是运行在用户空间的硬件抽象层。采用这种方法,就可以使系统具有硬件无关性,也保护了部分厂商的利益。在 Android 从硬件到应用:一步一步向上爬 1 -- 从零编写底层硬件驱动程序  中已经有了编写硬件驱动到linux内核里的步骤,下面就要接着这个工程去看看怎么在硬件抽象层增加硬件模块和我们的内核驱动...
阅读(1918) 评论(0)

[置顶] Android 从硬件到应用:一步一步向上爬 2 -- 运行 C 程序测试硬件驱动

编写C程序快速测试硬件驱动: 在Android 源码根目录下的external文件夹创建driver_test文件夹: cd external mkdir driver_test cd driver_test 创建Android.mk: LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE_TAGS := o...
阅读(1590) 评论(0)

[置顶] Android 从硬件到应用:一步一步向上爬 1 -- 从零编写底层硬件驱动程序

硬件平台:TI AM335X Starter Kit 开发源码:TI-Android-ICS-4.0.3-DevKit-EVM-SK-3.0.1.bin 主机系统:Ubuntu 10.04        这次写《Android 从硬件到应用》是想尝试从底层的最简单的GPIO硬件驱动开始,一步一步的向上走,经过硬件抽象层HAL、JNI方法等,最终编写出APP,达到硬件调用的目的,期间会增加一些...
阅读(4221) 评论(0)

[置顶] DM8168硬件平台

DM8168硬件平台  作者:Marvin_wu                           TMS320DM8168是一款多核SoC,它集成了包括ARM Cortex A8、DSP C674X+、M3 VIDEO、M3 VPSS等处理器。DSP用于视频图像处理,ARM负责应用程序管理及各个外设的控制,M3 VIDEO主要功能是对视频帧进行编码和解码,而M3 VPSS则负责...
阅读(2214) 评论(1)

[置顶] DM8168 GPIO驱动与测试程序

本次测试针对GPIO1进行,挑选了GP1[31],引脚的复用默认的就是GPIO 还是老规矩,贴上driver.c,Makefile,test.c: dm8168_gpio.c: #include #include #include #include /* copy_to_user,copy_from_user */ #include #include #include st...
阅读(1669) 评论(0)

[置顶] DM8168 PWM驱动与测试程序

昨天把DM8168的Timer设置给摸了一遍,为写PWM的底层驱动做好了准备,现在就要进入主题了。 dm8168_pwm.c: #include #include #include #include /* copy_to_user,copy_from_user */ #include #include #include static struct class *pwm_cla...
阅读(1900) 评论(1)

DM8168 DVRRDK DSP算法开发(OSD)

1 系统编译 ① Linux端(A8)编译命令: make –s dvr_rdk_linux 在文件夹 DVRRDK_04.01.00.02/dvr_rdk/bin/ti816x/bin/ 生成 dvr_rdk_demo_mcfw_api.out linux可执行程序,需要将该应用程序移动到下列目录并覆盖: DVRRDK_04.01.00.02/target/rfs_816...
阅读(2197) 评论(5)

Linux 下 SD 卡 只读文件系统

SD卡有时会显示只读文件系统,无法拷贝,删除,查看文件: ①sudo fdisk -l  查看文件分区,例如该SD卡为sde1。 ②umount  /dev/sde1。 ③sudo dosfsck -v -a /dev/sde1,修复该文件系统。...
阅读(951) 评论(0)

[DM8168] EVM816x DDR2/3 PRCM Init is Done(DMM_LISA_MAP 修改 EMIF 映射)

DM8168样板制作过程,CCS测试DDR3时,GEL加载不通过: 遇到EVM816x DDR2/3 PRCM Init is Done .....卡住的问题。 一般是三个原因: ①fly-by结构的地址时钟命令线焊接不良。 ②DDR3某芯片异常。 ③时序参数改变,而寄存器并没有被正确配置。 ①③情况还好解决,碰到②可以通过修改EMIF映射的方式回避损坏的DDR3芯片。 比如现成的案...
阅读(1046) 评论(0)

HFSS 过孔模型设计向导

Ansoft为过孔设计提供了工具,可以在HFSS快速产生3D的过孔模型,小工具名字为Via Wizard,下载地址: http://download.csdn.net/detail/wu20093346/9253719 安装过后,在保证有HFSS已经安装的情况下就可以生成过孔模型: 打开界面: 点击右下角Generate Project,稍后会自动打开HFSS,并且建立好了模型...
阅读(2556) 评论(0)

HFSS 微带线特性阻抗仿真

选用介质材料为FR4,介电常数为4.4,板厚1mm。首先大概计算一下50欧姆传输线的线宽: 50欧姆传输线的线宽大概是1.92mm,接着利用HFSS进行精确仿真: HFSS版本13.0: File--new,创建一个新工程: save as 命名为microstrip.hfss Project--Insert HFSS Design 点击Draw box ,画出一个长方...
阅读(4328) 评论(0)

非阻塞读取串口终端数据

当进程调用一个阻塞的系统函数时,该进程被置于睡眠(Sleep)状态,这时内核调度其它进程运行,直到该进程等待的事件发生了它才有可能继续运行。与睡眠状态相对的是运行(Running)状态。打开终端使用O_NONBLOCK标志,可以实现非阻塞读取终端数据: #include #include #include #include #include int main(void) { cha...
阅读(789) 评论(0)

Shell 学习24 - Shell 文件包含

像其他语言一样,Shell 也可以包含外部脚本,将外部脚本的内容合并到当前脚本。 Shell 中包含脚本可以使用: . filename 或 source filename两种方式的效果相同,简单起见,一般使用点号(.),但是注意点号(.)和文件名中间有一空格。 例如,创建两个脚本,一个是被调用脚本 subscript.sh,内容如下: url="http://see.xidian.edu...
阅读(291) 评论(0)

Shell 学习23 - Shell 输入输出重定向

Unix 命令默认从标准输入设备(stdin)获取输入,将结果输出到标准输出设备(stdout)显示。一般情况下,标准输入设备就是键盘,标准输出设备就是终端,即显示器。 输出重定向 命令的输出不仅可以是显示器,还可以很容易的转移向到文件,这被称为输出重定向。 命令输出重定向的语法为: $ command > file这样,输出到显示器的内容就可以被重定向到文件。 例如,下面的命令在显示器...
阅读(259) 评论(0)

Shell 学习22 - Shell 函数参数

在Shell中,调用函数时可以向其传递参数。在函数体内部,通过 $n 的形式来获取参数的值,例如,$1表示第一个参数,$2表示第二个参数... 带参数的函数示例: #!/bin/bash funWithParam(){ echo "The value of the first parameter is $1 !" echo "The value of the second parameter ...
阅读(302) 评论(0)

Shell 学习21 - Shell 函数

函数可以让我们将一个复杂功能划分成若干模块,让程序结构更加清晰,代码重复利用率更高。像其他编程语言一样,Shell 也支持函数。Shell 函数必须先定义后使用。 Shell 函数的定义格式如下: function_name () { list of commands [ return value ] }如果你愿意,也可以在函数名前加上关键字 function: function funct...
阅读(289) 评论(0)

Shell 学习20 - Shell 跳出循环

在循环过程中,有时候需要在未达到循环结束条件时强制跳出循环,像大多数编程语言一样,Shell也使用 break 和 continue 来跳出循环。 break命令 break命令允许跳出所有循环(终止执行后面的所有循环)。 下面的例子中,脚本进入死循环直至用户输入数字大于5。要跳出这个循环,返回到shell提示符下,就要使用break命令。 #!/bin/bash while : do e...
阅读(637) 评论(0)

Shell 学习19 - Shell until 循环

until 循环执行一系列命令直至条件为 true 时停止。until 循环与 while 循环在处理方式上刚好相反。一般while循环优于until循环,但在某些时候,也只是极少数情况下,until 循环更加有用。 until 循环格式为: until command do Statement(s) to be executed until command is true donecomma...
阅读(307) 评论(0)

Shell 学习18 - Shell while 循环

while循环用于不断执行一系列命令,也用于从输入文件中读取数据;命令通常为测试条件。其格式为: while command do Statement(s) to be executed if command is true done命令执行完毕,控制返回循环顶部,从头开始直至测试条件为假。 以下是一个基本的while循环,测试条件是:如果COUNTER小于5,那么返回 true。COUNTE...
阅读(312) 评论(0)

Shell 学习17 - Shell for 循环

与其他编程语言类似,Shell支持for循环。 for循环一般格式为: for 变量 in 列表 do command1 command2 ... commandN done列表是一组值(数字、字符串等)组成的序列,每个值通过空格分隔。每循环一次,就将列表中的下一个值赋给变量。 in 列表是可选的,如果不用它,for 循环使用命令行的位置参数。 例如,顺序输出当前列表中的数字: for ...
阅读(325) 评论(0)

Shell 学习16 - Shell case esac 语句

case ... esac 与其他语言中的 switch ... case 语句类似,是一种多分枝选择结构。 case 语句匹配一个值或一个模式,如果匹配成功,执行相匹配的命令。case语句格式如下: case 值 in 模式1) command1 command2 command3 ;; 模式2) command1 command2 command3 ;; *) command1 comma...
阅读(1204) 评论(0)
168条 共12页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:232870次
    • 积分:4243
    • 等级:
    • 排名:第7932名
    • 原创:116篇
    • 转载:5篇
    • 译文:47篇
    • 评论:55条
    最新评论