- IMX6ULL学习整理篇——UBoot的一些基础知识(1.编译流程)
charlie114514191
从0开始的学习ARMv7aIMX6ULL芯片学习UBoot嵌入式软件编译
前言笔者整理了最近刷IMX6ULL的一些学习笔记,这里打算稍微整理一下东西发上来作为作为一个补充正文大部分而言,当我们拿到源码的时候,一般都是——先使用make来生成一份针对我们目标开发板的配置。举个例子,正点原子针对他们的开发板(EMMC作为类似于我们电脑的硬盘,DDR类似我们电脑的内存),使用的就是他们自己配置的mx6ull_14x14_ddr512_emmc_defconfig文件。也就是说
- Linux 内核移植
River-D
Driver
NXP官方开发板Linux内核编译37.2.1修改顶层Makefile修改顶层Makefile,直接在顶层Makefile文件里面定义ARCH和CROSS_COMPILE这两个的变量值为arm和arm-linux-gnueabihf-37.2.2配置并编译Linux内核和uboot一样,在编译Linux内核之前要先配置Linux内核。每个板子都有其对应的默认配置文件,这些默认配置文件保存在arch
- uboot几个配置文件的关系
大门口的猴子
uboot通信协议android应用linux运维服务器
.config文件:.config文件是通过以下几种命令生成的动态配置文件。makedefconfig:根据默认配置生成.config文件。makemenuconfig:通过图形化界面选择配置选项后生成.config文件。make_config:根据指定的开发板配置生成.config文件include/configs/xxx.h文件在U-Boot中,include/configs/xxx.h文件是
- imx6ull,从uboot到linux启动
只慢半拍
linuxubuntu运维
很久没搞嵌入式了,为了学习,买了正点的arm板子,芯片是Freescale的imx6ull。为了更好的学习,决定放弃正点官网的资料,一切都从原网下载。原料准备imx6ull手册官网下载正点imx6ull的板子TB买的一张小SD卡JD买的交叉编译工具https://releases.linaro.org/components/toolchain/binaries/latest-7/arm-linux
- Uboot启动学习笔记之四-uboot之初体验
six2me
嵌入式之uboot学习c语言
u-boot初体验在这里我们首先要问自己一个问题,前面将了那么多准备的工作,就是为了启动个uboot,那么uboot到底有什么用?它是一致运行的吗,或者叫她的生命周期如何?uboot属于bootloader的一种,是用来引导启动内核的,它的最终目的就是,从flash中读出内核,放到内存中,启动内核.1.uboot的作用1)uboot主要作用是用来启动操作系统内核。体现在uboot最后一句代码就是启
- IMX6ULL驱动开发uboot篇01
charlie114514191
从0开始的学习ARMv7aIMX6ULL芯片驱动开发IMX6ULL嵌入式硬件uboot
目录所以,啥是UBoot使用uboot的命令行完成点事情bdinfo,printenv和version环境变量内存操作所以,啥是UBoot我们搞过STM32或者啥其他单片机的朋友都知道,我们的程序想要跑上去,需要一个BOOTLoader来提供一个最基本的,被初始化后的软硬件环境(比如说中断向量要布置好,C语言的栈环境要布置好等等!),对于跑操作系统,想要让一个大系统跑在一个板子上的重要步骤就是提供
- 华为AP4050DN-HD使用tftp、uboot瘦转胖
Rzhidong
网络
准备工作:centos7ios镜像,一根console线,一根网线本地pc与ap(GE0)用网线连接本地环境说明:本地电脑ip192.168.1.2centos7ip192.168.1.3apuboot设置ip192.168.1.41、本地电脑安装vm虚拟机,并安装好centos7系统(网络模式选择桥接模式,ip设置为192.168.1.3)2、centos7安装tftp服务yum-yinstal
- (一文搞定)使用sd卡,往野火EBF6UL/LL-pro板子,移植官方uboot、kernel以及构建rootfs
又摆有菜
嵌入式硬件arm开发linux
0、事先声明1、我的pc是Linux操作系统,接下来的操作也都是在linux系统上的。不是windows操作系统。(如若你是win系统,可安装虚拟机,解决这个问题。此帖不讨论如何在win上安装虚拟机)。2、只在win下面使用了串口软件mobaxterm。(此操作,事先请先安装usb转串口ch340驱动)1、EBF6UL/LL-pro简介这是野火的开发版,芯片使用的nxp的imx6ull。其他不在介
- 在AMLOGIC android14 平台上使用adb
Keep Coding...
adblinux运维
1.修改bootloader编译:添加--fastboot-writecdbootloader/uboot-repo./mks7d_bm201--vab--avb2--fastboot-write#./mks7_bh201--avb2--vab--fastboot-writeecho"compiledbootloadersuccess!!!"cpbuild/u-boot.bin.signed../
- 【OpenHarmony4.1 之 U-Boot 2024.07源码深度解析】006 - Makefile 编译脚本 逐行深度解析
小馋喵星人
鸿蒙OH-v5.0源码分析之Uboot+Kernel部分U-Bootarmv8Makefile
【OpenHarmony4.1之U-Boot2024.07源码深度解析】006-Makefile编译脚本逐行深度解析系列文章汇总:《【鸿蒙OH-v5.0源码分析之Uboot+Kernel部分】000-文章链接汇总》本文链接:《【OpenHarmony4.1之U-Boot2024.07源码深度解析】006-Makefile编译脚本逐行深度解析》本文开始,我们来分析下U-Boot的Makefile编译
- x210:uboot和系统移植
毛裤先生_2
嵌入式linux嵌入式linuxuboot
注:本文是对朱老师uboot和系统移植课程的备忘引导性笔记,主要是为了能够在学完后快速回忆起相关内容。本文主要记录了一些关键易忘性知识点并包含少量理解性内容,遵循尽量精简的原则,以尽量少的篇幅概括整个课程的知识点,便于后期能够快速定位知识点。故本文不包含具体的命令及函数使用方法等,同时不要太纠结于字面表达,这些只是为了能够快速回忆起相关知识点,具体的准确描述以及用法等需参考具体的文章。(未完待续)
- [ATF]-ATF启动--BL31跳转到optee和uboot
代码改变世界ctw
ARM-TEE-AndroidATFtrustzoneoptee
快速链接:.ARMv8/ARMv9架构入门到精通-[目录]付费专栏-付费课程【购买须知】:联系方式-加入交流群----联系方式-加入交流群个人博客笔记导读目录(全部)ATF1、背景2、ATF编译3、ATF的启动4、获取optee/uboot的跳转地址
- T113-i 倒车低概率性无反应,没有进入倒车视频界面
nan_nan_nan_nan_nan
全志T113-ilinux系统开发嵌入式硬件linux车载系统驱动开发
背景硬件:T113-i+emmc软件:uboot2018+linux5.4+QT应用分支:longan问题T113-i系统倒车时偶发无反应,没有进入倒车视频界面。倒车无反应问题排查先在倒车驱动的中断检测接口里添加打印,以确定倒车无反应时系统是否检测到中断状态,如下图所示。staticintcar_reverse_gpio_status(void){intvalue=1;if(car_reverse
- rk3506 sd卡启动
紫枫洛天
java前端服务器
1修改系统配置文件,打开ext4#SDMMCRK_ROOTFS_TYPE="ext4"RK_ROOTFS_INSTALL_MODULES=yRK_WIFIBT_CHIP="AIC8800"#RK_ROOTFS_LOG_GUARDIANisnotsetRK_UBOOT_CFG_FRAGMENTS="rk3506_tb"RK_UBOOT_SPL=yRK_KERNEL_CFG="rk3506_defco
- imx6ull移植Linux系统第三篇——根文件系统的构建
Shark-Ele
Linuxlinuxubuntu
imx6ull移植Linux系统第三篇——根文件系统的构建花了大概两周的时间,把Linux的移植认真学了一遍,期间踩了不少坑,花费了不少时间去解决各种奇奇怪怪的问题,最终完成了uboot、系统镜像、设备树以及根文件系统的制作,并最终下载到开发板上运行。这里想对这两周的学习内容进行一个总结,因为后期会有其他的学习安排,系统移植是一些经验和方法的掌握,如果长时间不去用,时间久了肯定会忘,希望这里写的总
- Ubuntu20.04 下基于QEMU 的 ARM 开发
背 锅 侠
内核开发arm开发ubuntu
目录一、搭建QEMU环境二、编译&运行uboot2.1编译uboot源码2.2测试uboot程序三、编译&运行kernel3.1编译kernel源码3.2测试kernel内核四、编译&运行busybox4.1编译busybox源码4.2制作文件系统4.3测试文件系统一、搭建QEMU环境(1)安装Ubuntu20.04:在此略过(2)安装QEMU:sudoaptupdatesudoapt-getin
- Uboot中外存MMC(sd/iNand等)驱动架构代码简单分析
IT悟物穷理IT
uboot和系统移植
2020-7-519:50北京晴屋内开空调不知道外面啥情况一天没出屋外面貌似闷热吧!本文仅作为技术积累,方便日后查阅!作家格拉德威尔在《异类》一书中指出:“人们眼中的天才之所以卓越非凡,并非天资超人一等,而是付出了持续不断的努力。1万小时的锤炼是任何人从平凡变成超凡的必要条件”。他将此称为“一万小时定律”。要成为某个领域的专家,需要10000小时,按比例计算就是:如果每天工作八个小时,一周工作五天
- 21. Ubuntu 交叉编译工具链安装
lljss2020
Linux
交叉编译器安装ARM裸机、Uboot移植、Linux移植这些都需要在Ubuntu下进行编译,编译就需要编译器,我们在第三章“LinuxC编程入门”里面已经讲解了如何在Liux进行C语言开发,里面使用GCC编译器进行代码编译,但是Ubuntu自带的gcc编译器是针对X86架构的!而我们现在要编译的是ARM架构的代码,所以我们需要一个在X86架构的PC上运行,可以编译ARM架构代码的GCC编译器,这个
- 基于讯为RK3588平台搭建Ubuntu20.04.5根文件系统
襟铭心缘
RK3588学习笔记ubuntulinuxarm开发
准备工作在搭建系统之前,需要详细阅读讯为公司提供的一些资料(虽然他们家资料一直都做的不完善),搭建好用于开发的Ubuntu虚拟机环境,熟练使用一些常用工具如烧录系统的工具RKDevTool、传输文件的工具FileZilla、远程连接工具MobaXterm等等。当然,本章只针对根文件系统,uboot、kernel的镜像文件和驱动文件需要提前准备好,编译讯为提供的Rockchip的SDK即可得到这些文
- ARM中断控制器
HNUlanwei
ARM9—S3C2440学习局部变量汇编语言编译器汇编
为什么在调用c函数时需要先设置栈指针?一.栈的整体作用(1)保存现场/上下文(2)传递参数:汇编代码调用c函数时,需传递参数(3)保存临时变量:包括函数的非静态局部变量以及编译器自动生成的其他临时变量。二.为什么汇编代码调用c函数需要设置栈之前看了很多关于uboot的分析,其中就有说要为C语言的运行,准备好栈。而自己在Uboot的start.S汇编代码中,关于系统初始化,也看到有栈指针初始化这个动
- ZYNQ + Linux
jerwey
linuxzynq
ZYNQLinux操作系统移植说明文档http://xilinx.eetrend.com/content/2019/100018437.html1,组成ZYNQ上面移植Linux操作系统包括四个部分,uboot,devicetree,kernel,ramdisk.其中uboot类似于bios,负责对设备进行简单的初始化,devicetree以树的形式对zynq相连的硬件设备进行描述,kernel是
- Qemu开发ARM篇-1、环境搭建篇
思禾
Qemu开发ARM篇arm开发嵌入式硬件linuxkerneluboot
文章目录1、目标2、欢迎来到qemu世界3、开发环境4、依赖安装5、编译安装qemu1、目标我们的目标是在x86平台上搭建上arm开发环境,及在x86平台模拟一台arm设备,以达到能快速在x86平台上学习arm相关知识,如uboot启动、kernel开发调试等,而不需要再繁琐的通过购买昂贵的开发板进行操作。2、欢迎来到qemu世界下面我将手把手带领大家走进qemu的世界,教大家如何一步一步通过qe
- 【鸿蒙OH-v5.0源码分析之 Linux Kernel 部分】004 - Kernel 启动引导代码head.S 源码逐行分析
"小夜猫&小懒虫&小财迷"的男人
鸿蒙OH-v5.0源码分析之Uboot+Kernel部分harmonyoslinux华为
【鸿蒙OH-v5.0源码分析之LinuxKernel部分】004-Kernel启动引导代码head.S源码逐行分析系列文章汇总:《鸿蒙OH-v5.0源码分析之Uboot+Kernel部分】000-文章链接汇总》本文链接:《【鸿蒙OH-v5.0源码分析之LinuxKernel部分】004-Kernel启动引导代码head.S源码逐行分析》head.S主要工作如下:保存内核启动参数,无效化处理器缓存(
- 笔记整理—uboot番外(3)环境变量的作用
TeYiToKu
X210嵌入式学习整理笔记linux嵌入式硬件c语言
环境变量的最大一个作用就是,能够在不修改代码的情况下去影响应用的运行情况。环境变量的优先级问题:有环境变量的情况下优先使用环境变量,没有环境变量则使用代码中的值(全局变量一类的变量)。例如,machid在bdinfo中,而不再print_env中(环境变量)。但若是setmachid0x30001332就可以在环境变量中生成一个值,当校验时会对这个值进行采用。删除一个环境变量的方法:如刚刚设置了s
- 笔记整理—内核!启动!—kernel部分(2)从汇编阶段到start_kernel与内核进程
TeYiToKu
X210嵌入式学习整理笔记汇编linux嵌入式硬件c语言单片机
kernel起始与ENTRY(stext),和uboot一样,都是从汇编阶段开始的,因为对于kernel而言,还没进行栈的维护,所以无法使用c语言。_HEAD定义了后面代码属于段名为.head.text的段。内核起始部分代码被解压代码调用,前面关于uboot的文章中有提到过(eg:zImage)。uboot启动是无条件的,只要代码的位置对,上电就工作,kernel启动由bootloader进行构建
- 笔记整理—uboot启动过程(4)BL2干了什么及内存排布
TeYiToKu
X210嵌入式学习整理嵌入式硬件linuxc语言汇编
uboot的第一阶段结束于start_armboot,第二阶段的uboot代码主要负责soc外部硬件(inand、网卡、......)、uboot本身构建(uboot指令、环境变量、......)最后进入命令行,等待命令然后倒数,等待bootcmd,进入内核(uboot结束)。倒数期间通过回车打断进入如下代码,通过循环不去进入bootcmd。for(;;){main_loop();}typedef
- Uboot 网卡移植遇到的问题与解决方法
Jason416就是我
UbootubootUSB网卡
前言在上一章节中描述的两个问题,这里做下简单回顾。情况一在运行到接收以太帧的时候,出现了dataabrot异常,如下:dataabortpc:[]lr:[]relocpc:[]lr:[]sp:7ae54ce0ip:00000014fp:00000fffr10:00000fffr9:7ae54ed8r8:0000002er7:00000fffr6:7aede303r5:0000001cr4:7aed
- 全志 HDMI 显示亮度低
春风从不入睡、
Linux驱动开发篇Android/Linux进阶宝典linux驱动开发车载系统
一、问题描述全志T527在适配HDMI,让HDMI作为主显示时,出现亮度太低的问题二、解决办法1、调整uboot参数,显示720P画面videvice/config/chips/t527/configs/sany_v7/uboot-board.dts在T527中有显示相关的接口,enhance该接口用于设置图像的亮度/对比度/饱和度/边缘锐度/细节增强/降噪的调节幅度。2、调整亮度在设置之前请确保
- IMX6ULL SD卡启动uboot+kernel+rootfs
xingpeng_89
IMX6ULLlinux服务器
目录1.背景说明2.SD卡启动2.1准备条件2.2对SD卡分区格式化2.3制作sd卡镜像3.效果测试1.背景说明网络上绝大数教程,教大家把uboot烧录到SD卡,然后uboot启动后,通过TFTP下载kernel和设备树,然后通过nfs挂载文件系统。很少有SD卡完整启动ubootkernel和rootfs,这里整理了一下,分享给大家。2.SD卡启动2.1准备条件①u-boot-dtb.imx②zI
- linux下使用fw_printenv读取、fw_setenv修改uboot环境变量
omnibots
linuxuboot工具移植linux
文章目录linux下使用fw_printenv读取、fw_setenv修改uboot环境变量编译配置fw_printenvfw_setenv配置linux下使用fw_printenv读取、fw_setenv修改uboot环境变量编译配置源码在uboot根目录tools/env下面。编译前需要配置一下分区信息。修改文件tools/env/fw_env.h单环境变量分区://单环境变量分区需要注释下面
- 戴尔笔记本win8系统改装win7系统
sophia天雪
win7戴尔改装系统win8
戴尔win8 系统改装win7 系统详述
第一步:使用U盘制作虚拟光驱:
1)下载安装UltraISO:注册码可以在网上搜索。
2)启动UltraISO,点击“文件”—》“打开”按钮,打开已经准备好的ISO镜像文
- BeanUtils.copyProperties使用笔记
bylijinnan
java
BeanUtils.copyProperties VS PropertyUtils.copyProperties
两者最大的区别是:
BeanUtils.copyProperties会进行类型转换,而PropertyUtils.copyProperties不会。
既然进行了类型转换,那BeanUtils.copyProperties的速度比不上PropertyUtils.copyProp
- MyEclipse中文乱码问题
0624chenhong
MyEclipse
一、设置新建常见文件的默认编码格式,也就是文件保存的格式。
在不对MyEclipse进行设置的时候,默认保存文件的编码,一般跟简体中文操作系统(如windows2000,windowsXP)的编码一致,即GBK。
在简体中文系统下,ANSI 编码代表 GBK编码;在日文操作系统下,ANSI 编码代表 JIS 编码。
Window-->Preferences-->General -
- 发送邮件
不懂事的小屁孩
send email
import org.apache.commons.mail.EmailAttachment;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.HtmlEmail;
import org.apache.commons.mail.MultiPartEmail;
- 动画合集
换个号韩国红果果
htmlcss
动画 指一种样式变为另一种样式 keyframes应当始终定义0 100 过程
1 transition 制作鼠标滑过图片时的放大效果
css
.wrap{
width: 340px;height: 340px;
position: absolute;
top: 30%;
left: 20%;
overflow: hidden;
bor
- 网络最常见的攻击方式竟然是SQL注入
蓝儿唯美
sql注入
NTT研究表明,尽管SQL注入(SQLi)型攻击记录详尽且为人熟知,但目前网络应用程序仍然是SQLi攻击的重灾区。
信息安全和风险管理公司NTTCom Security发布的《2015全球智能威胁风险报告》表明,目前黑客攻击网络应用程序方式中最流行的,要数SQLi攻击。报告对去年发生的60亿攻击 行为进行分析,指出SQLi攻击是最常见的网络应用程序攻击方式。全球网络应用程序攻击中,SQLi攻击占
- java笔记2
a-john
java
类的封装:
1,java中,对象就是一个封装体。封装是把对象的属性和服务结合成一个独立的的单位。并尽可能隐藏对象的内部细节(尤其是私有数据)
2,目的:使对象以外的部分不能随意存取对象的内部数据(如属性),从而使软件错误能够局部化,减少差错和排错的难度。
3,简单来说,“隐藏属性、方法或实现细节的过程”称为——封装。
4,封装的特性:
4.1设置
- [Andengine]Error:can't creat bitmap form path “gfx/xxx.xxx”
aijuans
学习Android遇到的错误
最开始遇到这个错误是很早以前了,以前也没注意,只当是一个不理解的bug,因为所有的texture,textureregion都没有问题,但是就是提示错误。
昨天和美工要图片,本来是要背景透明的png格式,可是她却给了我一个jpg的。说明了之后她说没法改,因为没有png这个保存选项。
我就看了一下,和她要了psd的文件,还好我有一点
- 自己写的一个繁体到简体的转换程序
asialee
java转换繁体filter简体
今天调研一个任务,基于java的filter实现繁体到简体的转换,于是写了一个demo,给各位博友奉上,欢迎批评指正。
实现的思路是重载request的调取参数的几个方法,然后做下转换。
- android意图和意图监听器技术
百合不是茶
android显示意图隐式意图意图监听器
Intent是在activity之间传递数据;Intent的传递分为显示传递和隐式传递
显式意图:调用Intent.setComponent() 或 Intent.setClassName() 或 Intent.setClass()方法明确指定了组件名的Intent为显式意图,显式意图明确指定了Intent应该传递给哪个组件。
隐式意图;不指明调用的名称,根据设
- spring3中新增的@value注解
bijian1013
javaspring@Value
在spring 3.0中,可以通过使用@value,对一些如xxx.properties文件中的文件,进行键值对的注入,例子如下:
1.首先在applicationContext.xml中加入:
<beans xmlns="http://www.springframework.
- Jboss启用CXF日志
sunjing
logjbossCXF
1. 在standalone.xml配置文件中添加system-properties:
<system-properties> <property name="org.apache.cxf.logging.enabled" value=&
- 【Hadoop三】Centos7_x86_64部署Hadoop集群之编译Hadoop源代码
bit1129
centos
编译必需的软件
Firebugs3.0.0
Maven3.2.3
Ant
JDK1.7.0_67
protobuf-2.5.0
Hadoop 2.5.2源码包
Firebugs3.0.0
http://sourceforge.jp/projects/sfnet_findbug
- struts2验证框架的使用和扩展
白糖_
框架xmlbeanstruts正则表达式
struts2能够对前台提交的表单数据进行输入有效性校验,通常有两种方式:
1、在Action类中通过validatexx方法验证,这种方式很简单,在此不再赘述;
2、通过编写xx-validation.xml文件执行表单验证,当用户提交表单请求后,struts会优先执行xml文件,如果校验不通过是不会让请求访问指定action的。
本文介绍一下struts2通过xml文件进行校验的方法并说
- 记录-感悟
braveCS
感悟
再翻翻以前写的感悟,有时会发现自己很幼稚,也会让自己找回初心。
2015-1-11 1. 能在工作之余学习感兴趣的东西已经很幸福了;
2. 要改变自己,不能这样一直在原来区域,要突破安全区舒适区,才能提高自己,往好的方面发展;
3. 多反省多思考;要会用工具,而不是变成工具的奴隶;
4. 一天内集中一个定长时间段看最新资讯和偏流式博
- 编程之美-数组中最长递增子序列
bylijinnan
编程之美
import java.util.Arrays;
import java.util.Random;
public class LongestAccendingSubSequence {
/**
* 编程之美 数组中最长递增子序列
* 书上的解法容易理解
* 另一方法书上没有提到的是,可以将数组排序(由小到大)得到新的数组,
* 然后求排序后的数组与原数
- 读书笔记5
chengxuyuancsdn
重复提交struts2的token验证
1、重复提交
2、struts2的token验证
3、用response返回xml时的注意
1、重复提交
(1)应用场景
(1-1)点击提交按钮两次。
(1-2)使用浏览器后退按钮重复之前的操作,导致重复提交表单。
(1-3)刷新页面
(1-4)使用浏览器历史记录重复提交表单。
(1-5)浏览器重复的 HTTP 请求。
(2)解决方法
(2-1)禁掉提交按钮
(2-2)
- [时空与探索]全球联合进行第二次费城实验的可能性
comsci
二次世界大战前后,由爱因斯坦参加的一次在海军舰艇上进行的物理学实验 -费城实验
至今给我们大家留下很多迷团.....
关于费城实验的详细过程,大家可以在网络上搜索一下,我这里就不详细描述了
在这里,我的意思是,现在
- easy connect 之 ORA-12154: TNS: 无法解析指定的连接标识符
daizj
oracleORA-12154
用easy connect连接出现“tns无法解析指定的连接标示符”的错误,如下:
C:\Users\Administrator>sqlplus username/
[email protected]:1521/orcl
SQL*Plus: Release 10.2.0.1.0 – Production on 星期一 5月 21 18:16:20 2012
Copyright (c) 198
- 简单排序:归并排序
dieslrae
归并排序
public void mergeSort(int[] array){
int temp = array.length/2;
if(temp == 0){
return;
}
int[] a = new int[temp];
int
- C语言中字符串的\0和空格
dcj3sjt126com
c
\0 为字符串结束符,比如说:
abcd (空格)cdefg;
存入数组时,空格作为一个字符占有一个字节的空间,我们
- 解决Composer国内速度慢的办法
dcj3sjt126com
Composer
用法:
有两种方式启用本镜像服务:
1 将以下配置信息添加到 Composer 的配置文件 config.json 中(系统全局配置)。见“例1”
2 将以下配置信息添加到你的项目的 composer.json 文件中(针对单个项目配置)。见“例2”
为了避免安装包的时候都要执行两次查询,切记要添加禁用 packagist 的设置,如下 1 2 3 4 5
- 高效可伸缩的结果缓存
shuizhaosi888
高效可伸缩的结果缓存
/**
* 要执行的算法,返回结果v
*/
public interface Computable<A, V> {
public V comput(final A arg);
}
/**
* 用于缓存数据
*/
public class Memoizer<A, V> implements Computable<A,
- 三点定位的算法
haoningabc
c算法
三点定位,
已知a,b,c三个顶点的x,y坐标
和三个点都z坐标的距离,la,lb,lc
求z点的坐标
原理就是围绕a,b,c 三个点画圆,三个圆焦点的部分就是所求
但是,由于三个点的距离可能不准,不一定会有结果,
所以是三个圆环的焦点,环的宽度开始为0,没有取到则加1
运行
gcc -lm test.c
test.c代码如下
#include "stdi
- epoll使用详解
jimmee
clinux服务端编程epoll
epoll - I/O event notification facility在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linu
- Hibernate对Enum的映射的基本使用方法
linzx0212
enumHibernate
枚举
/**
* 性别枚举
*/
public enum Gender {
MALE(0), FEMALE(1), OTHER(2);
private Gender(int i) {
this.i = i;
}
private int i;
public int getI
- 第10章 高级事件(下)
onestopweb
事件
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
- 孙子兵法
roadrunners
孙子兵法
始计第一
孙子曰:
兵者,国之大事,死生之地,存亡之道,不可不察也。
故经之以五事,校之以计,而索其情:一曰道,二曰天,三曰地,四曰将,五
曰法。道者,令民于上同意,可与之死,可与之生,而不危也;天者,阴阳、寒暑
、时制也;地者,远近、险易、广狭、死生也;将者,智、信、仁、勇、严也;法
者,曲制、官道、主用也。凡此五者,将莫不闻,知之者胜,不知之者不胜。故校
之以计,而索其情,曰
- MySQL双向复制
tomcat_oracle
mysql
本文包括:
主机配置
从机配置
建立主-从复制
建立双向复制
背景
按照以下简单的步骤:
参考一下:
在机器A配置主机(192.168.1.30)
在机器B配置从机(192.168.1.29)
我们可以使用下面的步骤来实现这一点
步骤1:机器A设置主机
在主机中打开配置文件 ,
- zoj 3822 Domination(dp)
阿尔萨斯
Mina
题目链接:zoj 3822 Domination
题目大意:给定一个N∗M的棋盘,每次任选一个位置放置一枚棋子,直到每行每列上都至少有一枚棋子,问放置棋子个数的期望。
解题思路:大白书上概率那一张有一道类似的题目,但是因为时间比较久了,还是稍微想了一下。dp[i][j][k]表示i行j列上均有至少一枚棋子,并且消耗k步的概率(k≤i∗j),因为放置在i+1~n上等价与放在i+1行上,同理