初步了解完PCI总线标准之后,我们接下来正式开始PCIe设备的漫游之旅.从我们按下PC的电源按钮开始,BIOS就接管系统控制权开始工作,它会先进行一些内存和设备的初始化工作(当然,也包括我们的PCI设备),由于商业上的原因,Phoenix等厂商的BIOS代码需要授权协议,在此,我们以另外一个款开源BIOS(openbios)为例,来剖析BIOS中,我们的PCIe设备是如何被找到以及初始化的. PCI设备的扫描是基于深度优先搜索算法(DFS:Depth First Search),也就是说,下级分…
前面两个小节大致总结了下PCIE的基本知识,算是扫盲篇吧.本文主要总结PCIE设备的枚举扫描过程,此部分才是PCIE模块的重点,无论是在BIOS下还是系统驱动下都会用到. 按照国际惯例,先列问题: 1. 系统如何判断PCIE设备是否在位? 2. 设备中的配置空间的数据一开始就有嘛?谁写的? 3. Bus号,Dev号,和Fun号与硬件有关系嘛?P 4. Bridge和Device的区别? 5. Device和Function的区别? 6. 枚举的流程是怎么样的? 系统如何判断PCIE设备是否在位…
Windows 10 IoT Core 是微软针对物联网市场的一个重要产品,与以往的Windows版本不同,是为物联网设备专门设计的,硬件也不仅仅限于x86架构,同时可以在ARM架构上运行. 上一章我们讲了 Win10 IoT 如何对本地 IoT 设备内嵌 SQLite 数据库进行 CURD 操作 ,这章我们来学习如何使用 GPIO Pin 扫描4x4矩阵键盘按键状态.如果对安装部署过程还不熟悉可以参考前几篇文章,Raspberry安装 IoT系统及搭建开发环境(http://www.cnblo…
XE5应用开发支持的安卓设备 A.官方文档声明 RADStudio 支持Android设备的应用开发,android版本从2.3到4.3.x,ARMv7处理器,MEON支持.根据Embarcadero的官方说明,应用开发支持的安卓设备的要求如下: 目标平台的版本 >JellyBean (Android 4.1.x,4.2.x,4.3.x) 不支持Honeycomb (Android 3.x) >Ice Cream Sandwich(Android 4.0.3 and 4.0.4) 说是支持,在…
HTML5是关注度ZUI高的前沿Web技术,而移动互联网则是近两年ZUI炙手可热的Web领域.<HTML5移动应用开发入门经典>将这两者巧妙结合起来,详细讲解了如何利用HTML5进行移动应用开发.    HTML5移动应用开发入门经典总共分为24章,以示例的方式对如何使用HTML5及相关技术进行移动应用开发做了全面而细致的介绍.本书首先讲解了HTML5的起源以及它为什么适用于移动设备,然后讲解了HTML5的基本元素以及所做的改进.canvas(画布).视音频.微格式.微数据.拖曳等新增特性,还…
HTML5游戏开发进阶指南介绍了HTML5游戏开发的一般过程和技巧.全书共分12章,第1章介绍了本书相关的HTML5的诸多新特性,包括在canvas上绘图.播放声音等,另外还引入了子画面页的概念:第2-4章利用Box2D物理引擎开发了一款非常类似于<愤怒的小鸟>的游戏,全面介绍了物理引擎的概念,以及在游戏中使用物理引擎的方法,这一部分还引入了视差滚动技巧,以实现某种伪3D效果:第5-10章开发了一款简化版的<红色警戒>游戏,这一部分涉及了相当多的内容,包括地图的制作,建筑与单位的设…
Spring注解开发 浅尝Spring注解开发,基于Spring 4.3.12 包含Bean生命周期.自定义初始化方法.Debug BeanPostProcessor执行过程及在Spring底层中的应用 浅尝Spring注解开发_自定义注册组件.属性赋值.自动装配 浅尝Spring注解开发_Bean生命周期及执行过程 Bean生命周期 了解Bean的生命周期,就可以在Bean声明周期的不同阶段进行自定义的操作,满足更复杂的需求.简单的将Bean生命周期分为三个阶段:Bean创建.初始化.销毁 对…
网上能找到的关于Delphi XE系列的移动开发的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 注意,以下讨论都是以"合法注册开发者账号并支付年费"为前提,利用无证书生成iPA的小朋友请无视本文:  真机调试的开发测试环境: RAD平台:XE7 MAC平台:OSX10.8.5 Xcode版本:Xcode5.1.1 设备:iPhone 4  ios6.1 特别注意:     1. 本文图片较多,请于较好的网络…
网上能找到的关于Delphi XE系列的移动开发的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 注意,以下讨论都是以"合法注册开发者账号并支付年费"为前提,利用无证书生成iPA的小朋友请无视本文: 真机调试的开发测试环境: RAD平台:XE7 MAC平台:OSX10.8 Xcode版本:Xcode4.6.3 设备:iPhone 4  ios6.1 特别注意:     1. 本文图片较多,请于较好的网络环境下…
AllJoyn+Android开发案例-android跨设备调用方法 项目须要涉及AllJoyn开源物联网框架.前面主要了解了一些AllJoyn主要的概念.像总线,总线附件,总线对象,总线接口这种概念,以及之间的关系和跨设备.平台的调用功能.项目终于的目的实现是.跨平台的方法调用如:windows调用android.以及对于设备事件的订阅功能. 入手的步骤: 1.实现android端的跨设备方法(自己定义)调用案例-java 2.实现windows端的跨设备方法(自己定义)调用案例-c++ 3.…
针对当前应用的复杂性,SOC芯片更好能能满足应用和媒体的需求,集成众多接口,用ARM做为应用处理器进行多样化的应用开发和用户界面和接口,利用DSP进行算法加速,特别是媒体的编解码算法加速,既能够保持算法的灵活性,又能提供强大的处理能力.德州仪器(TI)继第一系列Davinci芯片DM644x之后,又陆续推出了DM643x,DM35x/36x,DM6467,OMAP35x,OMAPLx等一系列ARM+DSP或ARM+视频协处理器的多媒体处理器平台.众多有很强DSP开发经验的工程师,以及应用处理开发…
网上能找到的关于Delphi XE系列的移动开发的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 注意,以下讨论都是以"合法注册开发者账号并支付年费"为前提,利用无证书生成iPA的小朋友请无视本文: 真机调试的开发测试环境: RAD平台:XE7 MAC平台:OSX10.8 Xcode版本:Xcode4.6.3 设备:iPhone 4  ios6.1 特别注意:     1. 本文图片较多,请于较好的网络环境下…
1. Error: An App ID with identifier "*" is not avaliable. Please enter a different string. 错误原因是这个bundle ID已经被别人提前占用了,bundle ID必须是唯一的.解决办法当然是修改你的bundle ID 了. 2. 关于Certificate.Provisioning Profile.App ID的介绍及其之间的关系 点击查看原文:阳光的味道 刚接触iOS开发的人难免会对苹果的各种…
原文网址:http://www.jianshu.com/p/9c166a5e4930 1. Error: An App ID with identifier "*" is not avaliable. Please enter a different string. 错误原因是这个bundle ID已经被别人提前占用了,bundle ID必须是唯一的.解决办法当然是修改你的bundle ID 了. 2. 关于Certificate.Provisioning Profile.App ID…
前言 蓝牙开发其实分2个部分,一个是正常蓝牙功能的开发(比如Android蓝牙的互相连接.读取蓝牙列表.文件传输.蓝牙耳机等等).另外一个是BLE蓝牙开发(属于低功耗蓝牙设备,设备大多是血糖仪.蓝牙手环.蓝牙手表.蓝牙温度枪等等) Android端正常蓝牙功能开发 首先分享2个写的很好的蓝牙博客,非常全面,只是个别细节没有照顾到. https://blog.csdn.net/a1533588867/article/details/52442349 https://blog.csdn.net/s1…
DDMS --  Dalvik debug monitor service    调试监控服务 对模拟器进行相关配置. ADB进程   Android debug bridge  建立eclipse和Android设备之间的连接 cmd 进入dos界面,进行adb指令操作. adb start-server:启动adb进程adb kill-server:杀死adb进程adb devices:查看当前与开发环境连接的设备,此命令也可以启动adb进程adb install XXX.apk:往模拟器安…
最近有人在讨论是原生开发好还是,混合开发好,以下是引用了数据来说: 最近原生应用.Web应用.混合应用的名字让我们听得比较熟悉了,现在我们就通过评析各种应用的优缺点来更进一步看看这三者的区别. 一.原生应用 你使用过微软PowerPoint或者Word吧?这些可直接在你电脑上运行或者在智能手机上运行,简单来说,原生应用是特别为某种操作系统开发的,比如iOS.Android.黑莓等等,它们是在各自的移动设备上运行的. 优点: 可访问手机所有功能(GPS.摄像头): 速度更快.性能高.整体用户体验不…
DDMS --  Dalvik debug monitor service    调试监控服务 对模拟器进行相关配置. ADB进程   Android debug bridge  建立eclipse和Android设备之间的连接 cmd 进入dos界面,进行adb指令操作. adb start-server:启动adb进程adb kill-server:杀死adb进程adb devices:查看当前与开发环境连接的设备,此命令也可以启动adb进程adb install XXX.apk:往模拟器安…
linux PCI设备初始化过程 start_kernel->rest_init 这个函数会启动一个核心线程0, 核心线程然后调用init -> do_basic_setup. 然后我们开始看下面的过程 void __init driver_init(void) { devices_init(); buses_init(); classes_init(); ...... platform_bus_init(); system_bus_init(); ...... } //在drivers/ba…
在更深入了解 Odoo 开发之前,我们应配置好开发环境并学习相关的基础管理任务.本文中,我们将学习创建 Odoo 应用所需用到的工具和环境配置.这里采用 Ubuntu 系统来作为开发服务器实例的主机,可以是云服务器.本地服务器或者PC 上的虚拟机. 本文主要内容有: 配置主机,可以是 Ubuntu系统或 PC 机上的 Linux 子系统 使用源码安装 Odoo,包括数据库和系统依赖的安装 管理 Odoo 数据库(创建.删除和拷贝) 配置 Odoo 服务器选项 查找并安装社区插件 使用虚拟环境管理…
前言 在Spark集群 + Akka + Kafka + Scala 开发(1) : 配置开发环境中,我们已经部署好了一个Spark的开发环境. 在Spark集群 + Akka + Kafka + Scala 开发(2) : 开发一个Spark应用中,我们已经写好了一个Spark的应用. 本文的目标是写一个基于akka的scala工程,在一个spark standalone的集群环境中运行. akka是什么? akka的作用 akka的名字是action kernel的回文.根据官方定义:akk…
前言 在Spark集群 + Akka + Kafka + Scala 开发(1) : 配置开发环境,我们已经部署好了一个Spark的开发环境. 本文的目标是写一个Spark应用,并可以在集群中测试. 创建一个Scala的工程- SimpleAPP 建一个目录SimpleAPP mkdir SimpleAPP mkdir -p SimpleAPP/src/main/scala 建一个SimpleAPP/src/main/scala/SimpleApp.scala文件 这个程序会进行MapReduc…
前言 在Spark集群 + Akka + Kafka + Scala 开发(1) : 配置开发环境中,我们已经部署好了一个Spark的开发环境. 在Spark集群 + Akka + Kafka + Scala 开发(2) : 开发一个Spark应用中,我们已经写好了一个Spark的应用. 本文的目标是写一个基于kafka的scala工程,在一个spark standalone的集群环境中运行. 项目结构和文件说明 说明 这个工程包含了两个应用. 一个Consumer应用:CusomerApp -…
Android 服务端开发之开发环境配置 这里是在Eclipse的基础上安装PhpEclipse插件方法,PHPEclipse是Eclipse的 一个用于开发PHP的插件.当然也可以采用Java开发android服务端. 1.首先要下载PhpEclipse, 官网下载地址:下载地址 其它下载地址:下载地址 解压后features和plugins两个文件夹, 把里面对应的文件拷贝到Eclipse对应的features和plugins文件夹中. 2.重启Eclipse,Window-> Open P…
关于PCI设备的配置空间网上已经有很多资料了,如下图就是PCI设备必须支持的64个字节的配置空间,范围为0x00-0x3f. 很多PCI设备仅仅支持者64字节的配置空间.PCI和PCIe配置空间的区别如下文.此外PCI/PCI-X和PCIe设备还扩展了0x40和0xFF这段配置空间,这段空间主要存放一些与MSI或者MSI-X 中断机制相关的Capability结构.其中所有能够提交中断请求的PCIe设备,必须支持MSI或者MSI-X 中断机制相关的Capability结构.PCIe设备还支持0x…
通过IDEA搭建scala开发环境开发spark应用程序   一.idea社区版安装scala插件 因为idea默认不支持scala开发环境,所以当需要使用idea搭建scala开发环境时,首先需要安装scala插件,具体安装办法如下. 1.打开idea,点击configure下拉菜单中的plugins选项: 2.在弹出对话框中点击红框按钮: 3.在弹出最新对话框的搜索栏输入scala,在筛选出的内容中选择红框部分,点击右侧install按钮开始下载插件: 本人在测试过程中通过install自动…
LINUX内核PCI扫描过程 内核版本 3.10.103 1. ACPI热插拔扫描subsys_initcall(acpi_init)@drivers/acpi/bus.c |-acpi_scan_init@drivers/acpi/scan.c   |->acpi_pci_root_init@drivers/acpi/pci_root.c   |    |->acpi_scan_add_handler(&pci_root_handler)@drivers/acpi/scan.c  …
[原创]K8 Cscan 大型内网渗透自定义扫描器 https://www.cnblogs.com/k8gege/p/10519321.html Cscan简介:何为自定义扫描器?其实也是插件化,但Cscan不需要编程同样可实现自定义功能,这比单纯插件化更容易实现插件功能Cscan旨在为用户提供一个高度灵活.简单易用.多线程.多网段的插件化扫描框架,减少大量重复性工作提高工作效率3.3及以上版本分为检测存活和不检测存活主机模式 程序采用多线程批量扫描大型内网IP段C段存活主机(支持上万个C段)插…
SpringBoot Web开发(5) 开发页面国际化+登录拦截 一.页面国际化 页面国际化目的:根据浏览器语言设置的信息对页面信息进行切换,或者用户点击链接自行对页面语言信息进行切换. **效果演示:**当浏览器语言设置为英文优先时,或者用户点击页面“English”选项时,页面如下图所示: 当浏览器语言设置为中文优先时,或者用户点击页面“中文”选项时,页面如下图所示: 下面说说具体的实现步骤及实现原理: 一.编写国际化配置文件,抽取页面需要显示的国际化消息 在resources资源文件夹下创…
Atitit 开发进度  开发效率提升解决方案 1.1. 使用4gl语言 dsl语言尽可能 1 1.2. Ssd+高屏幕显示器,提升硬件 1 1.3. 汉字命名规范,可以大力提升可读性与效率 1 1.4. 开发模型 ,哑铃 直板  橄榄型 1 1.5. 加强积累 (类库,框架,解决方案,最佳实践) 1 1.6. 加强工具.. 1 1.7. Atitit 提升开发进度大方法--高频功能与步骤的优化 类似性能优化 v2 r4b 2 1.8. 数据库表固化,向上抽象一层.. 2 1.9. 字典表通用化…