- 博客(25)
- 资源 (11)
- 收藏
- 关注
原创 并查集模板
并查集模板//基于parent 和 size 的优化://初始化int parent[n];int size[n];for(i = 0; i < n; i++) { parent[i] = i; size[i] = 1; //初始化时每一个节点作为根,子节点 只有他自己}//查找a元素的根节点int find(int a) { assert a >= 0 && a < n int parenta = parent[a]; while(paren
2021-03-23 23:39:40
170
原创 深入理解内存屏障
perfbook Appendix C 章节的翻译,感觉这本书讲内存屏障讲的非常好,以下只是该章节部分英文翻译,想深入理解的可以看看书。MESI stateM(modify) : CPU拥有该cache line,这个cache line内包含最新的数据,这个cache负责最终写回内存或者传递数据到其他cpu cacheE(exclusiv) : 和modify状态相似,唯一的区别是没有被该...
2020-03-05 19:41:06
783
原创 安装LDAP服务
我是按照这篇文章做的 这里 但是它文档里面有一些其他的软件没有安装,比如php环境,如果不安装libapache2-mod-php7.0 我这里会提示: 找不到/cgi_bin/php/superldap/inex.php的错误。下面是需要安装的一些软件Install PHP environmentsudo apt-get install php7.0sudo apt-get...
2019-04-25 19:37:08
277
原创 Gerrit搭建(Gerrit + mysql + ldap)
JDK配置下载gerrit安装gerritGerrit启动JDK配置检查java是否以安装,如果没有如下命令则安装:ts@ts-OptiPlex-3020:~$ java -versionjava version "1.8.0_171"Java(TM) SE Runtime Environment (build 1.8.0_171-b11)Java Ho...
2019-04-25 19:35:57
4698
1
原创 在ubuntu 16.0.4中安装Jenkins
在ubuntu下,可以使用apt命令来安装jenkins:wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.l...
2019-04-25 19:35:05
201
原创 将安卓代码导入gerrit
配置default.xml创建* all/manifest.gitt *仓库:ssh -p 29418 admin@192.168.130.10 gerrit create-project --empty-commit all/manifestclone 到本地:git clone ssh://admin@192.168.130.10:29418/all/manifest....
2019-04-25 19:34:04
967
原创 linux下使用tcpdump抓取无线网络数据包
linux下使用tcpdump抓取无线网络数据包设置无线网卡模式为monitor模式iw wlan0 interface add mon0 type monitorifconfig mon0 up默认网卡设置为monitor模式后会自动恢复为managed模式所以创建另一个网卡将其设置为monitor模式iwconfigdocker0 no wireless extensio...
2019-04-21 14:44:35
1671
1
转载 LDAP的相关概念与objectClass介绍
一,部分LDAP专用名词的解释ObjectclassLDAP对象类,是LDAP内置的数据模型。每种objectClass有自己的数据结构,比如我们有一种叫“电话薄”的objectClass,肯定会内置很多属性(attributes),如姓名(uid),身份证号(uidNumber),单位名称(gid),家庭地址(homeDirectory)等,同时,还有一种叫“同学录”的objectClass,具...
2018-07-10 11:48:58
3581
转载 shell中的${},##, %% , :- ,:+, ? 的使用
假设我们定义了一个变量为:file=/dir1/dir2/dir3/my.file.txt可以用${ }分别替换得到不同的值:${file#*/}:删掉第一个/及其左边的字符串:dir1/dir2/dir3/my.file.txt${file##*/}:删掉最后一个/ 及其左边的字符串:my.file.txt${file#*.}:删掉第一个. 及其左边的字符串:...
2018-07-09 17:34:58
1711
转载 shell sort 命令
给文件名添加前缀sort命令详解1.sort的工作原理2.sort的-u选项3.sort的-r选项4.sort 的-o选项5.sort的-n选项6.sort的-t和-k选项7.sort的其他选项8.sort -k 详解8.1准备素材8.2按公司进行排序8.3按公司人数进行排序8.4按照公司人数进行排序,人数相同按照工资8.5按照员工工资降序排序,如果员工工资相同,则...
2018-06-22 17:14:53
6200
1
原创 SylixOS Lite版本中断优先级设置
非Lite版本中断关闭方式SylixOS向用户提供arch层关中断的接口,其接口名称为archIntDisable(),调用该函数将禁用所有外设的中断。在ARM体系结构体中,对于ARM系列、Cortex-A系列的芯片,arch层接口archIntDisable()的实现方式如程序清单1.1所示。程序清单1.1 非Lite版本的arch层中断关闭方式FUNC_DEF(archIntDisable)...
2018-02-28 11:08:34
347
原创 SylixOS 驱动调试软件使用说明
1.适用范围 本文档适用于使用SylixOS进行驱动模块开发的客户人员和技术工程师。2.工作准备 BSP驱动开发软件; CAN驱动模块代码; CAN应用程序测试代码。3.原理概述 翼辉BSP驱动开发软件是一种用于调试驱动程序的软件库,它通过替换系统IO接口,利用软件库内的中间线程做中转,将内核态的驱动程序构建为用户态,使驱动程序的调试如普通
2018-01-15 17:59:51
1043
原创 TpsFs目录索引
低版本TpsFs的目录索引算法文件系统中,一个目录由一个inode节点(记录文件属性)及众多目录项(entry)组成,目录项用于对该目录下各个子文件进行索引,通常目录项中会记录如下信息。子目录的文件名称;文件名称的长度;子目录inode节点所在位置。当查找一个文件时,通常是先找到该文件的inode节点,inode节点是根据其父目录内对应的目录项所记录的inode节点位置进行查找
2017-12-25 21:06:00
460
原创 SylixOS下Yaffs挂载参数说明
文件系统简介YAFFS是第一个专门为NAND Flash存储设计的嵌入式文件系统,适用于大容量的存储设备,并且是在GPL协议下发布的,可在其网站免费获得源代码。YAFFS也是目前SylixOS下针对Flash类存储设备的主要文件系统。YAFFS挂载参数说明在SylixOS中,想要在Flash类存储设备上挂载YAFFS文件系统,需要创建struct yaffs_dev结构体,并填充一系列
2017-11-24 22:50:29
570
原创 TpsFs文件系统概述(一)
TpsFs简介TpsFs(True Power Safe File System)是一款掉电安全的文件系统,该文件系统是SylixOS内建文件系统(专利技术)。TpsFs是基于事务的B+树文件系统:对元数据的修改使用事务提交的机制,保证了文件系统的一致性;使用B+树管理磁盘空间和文件空间,使得存储文件数据与定位速度更快、空间管理效率更高。TpsFs的源码可以在SylixOS Base工程下的"
2017-09-17 15:21:28
1156
原创 SylixOS启动脚本分析
本周学习了一些ARM指令、伪指令、链接脚本命令等,并对整个编译过程、elf文件有了更加深入的理解。ARM指令在ARM架构参考手册里面有了详细的介绍,这里不再列出,以下是一些GCC链接脚本命令的分析。 以SylixOS启动脚本为例,分析一下链接脚本相关命令。SylixOS链接文件包括config.h、config.lds、SylixOSBSP.ld,它们位于BSP板级支持包根目录内。
2017-08-22 11:47:15
691
原创 Linux下DMA驱动框架分析
linux下的DMA驱动框架drivers\dma\dmaengine.c文件内,在linux下编写DMA的设备驱动一般步骤如下。申请DMA通道 struct dma_chan *dma_request_channel(dma_cap_mask_t mask, dma_filter_fn filter_fn,void *filter_param); 其中dma_cap_m
2017-07-16 13:55:35
9735
原创 SylixOS下DMA操作带cache的地址时的处理
DMA只操作物理内存,不会操作cache,但CPU却先操作cache,这样就会造成数据不一致的问题。因此,对于一块带cache缓冲的地址要用DMA传输的话,需要经过特殊的处理。 linux下可以通过dma_map_single、dma_unmap_single函数来得到对应的物理地址,并根据数据的方向判断是该回写cache还是无效cache。 SylixO中可以利用API_
2017-07-03 17:40:06
544
原创 SylixOS 中断系统分析
SylixOS中断系统分析中断向量表在SylixOS中,系统默认存在一张大小为256(可以手动配置)的中断向量表,用于管理SylixOS中的每一个中断向量。该向量表存在于k_globalvar.h文件中,其定义格式如程序清单1-1所示。程序清单1-1 系统中断向量表定义/*******************************************************
2017-06-16 12:38:14
533
原创 SylixOS TPSFS文件系统掉电安全原理浅析
文件系统要解决的一个关键问题就是防止掉电或系统崩溃造成数据损坏,TPSFS采用事务提交机制来保证文件系统安全。举个例子分析采用事务与非事务的区别,我们对一个文件进行写操作,可能的步骤简化上是(想看源码的在IDE全局搜tpsFsWrite): 1.从空间inode列表获取块(1个小事务) 2.把块号记录到文件inode的B+树下(1个小事务) 3.对该块进行写操作(1个
2017-05-09 17:07:18
1622
原创 SylixOS 中断响应时间测试
应用场景在一些情况下,对于一些紧急的中断任务,系统需要为其提供稳定可靠的中断响应时间,但一般的中断服务函数,它的响应时间可能会受到其他中断向量的影响,延迟响应。在SylixOS中有两种解方案。1.提高该中断向量优先级,打开中断嵌套来确保紧急中断的响应时间。2.对于多核处理器,可以采用中断绑核的形式,即将紧急中断绑定到某一核上,该核只处理紧急任务。下面通过测试正常情况下、中断嵌套情况
2017-05-09 16:52:48
3574
原创 中断简介
中断简介中断是计算机中的一个十分重要的概念,在现代计算机中毫无例外地都采用中断机制。在计算机执行程序的过程中,由于出现某个特殊情况(或称为"事件"),使得CPU中止现行程序,而转去执行处理该事件的处理程序(俗称中断处理或中断服务程序),待中断服务程序执行完毕,再返回断点继续执行原来的程序,这个过程称为中断。中断信号线在数字逻辑层面,外部设备和处理器之间有一条专门的中断信号线,用于连接外
2017-04-14 14:13:08
472
原创 SylixOS 中断嵌套机制
原理概述 中断嵌套是指是指中断系统正在执行一个中断服务时,有另一个优先级更高的中断提出中断请求,这时会暂时终止当前正在执行的级别较低的中断源的服务程序,去处理级别更高的中断源,待处理完毕,再返回到被中断了的中断服务程序继续执行。技术实现 应用举例 下面以at91sam9260开发板上的AIC(Advanced Interrupt Controller)为例,说明其
2017-03-10 13:59:31
623
原创 SylixOS 共用中断号机制
原理概述SylixOS开发人员在编写中断驱动时经常会遇到多个中断源共用一个中断号的情况,但在驱动中为了保证代码独立性,各个外设的中断服务函数应该放在各自的C文件中编写,用统一的中断服务函数是不合理的。为了适应这种情况,SylixOS支持队列类型中断向量,即SylixOS内核将同一中断向量号的多个中断服务函数链接成队列,执行时依次执行。技术实现应用举例下面以at91sam9x25处理
2017-02-14 11:49:09
551
原创 SylixOS nand驱动框架理解
适用范围 该应用笔记适用于帮助用户在SylixOS下使用nandflash器件。原理概述 nandflash存储结构nandflash存储结构如图2-1所示,下面以mini2440开发板上的k9f1g08系列nandflash为例,简单介绍nandflash的存储结构。 图2-1 nandflash存储结构 nandflash的存储结构主要有两
2017-02-06 10:13:01
431
minilzo c语言源代码
2017-09-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人