- 博客(16)
- 资源 (11)
- 收藏
- 关注
原创 Linux ns 2. Pid Namespace 详解
文章目录1. pid1.1 pid_link1.1.1 process1.1.2 thread group1.1.3 process group1.1.4 session1.2 pid的初始化2. pid namespace2.1 clone(CLONE_NEWPID)2.2 setns(CLONE_NEWPID)2.3 unshare(CLONE_NEWPID)2.4 相关函数参考文档:1. pid在linux下获取pid,会发现有好几种类似的id(pid、tgid、pgid、sid),这几种的区别在
2020-11-18 20:03:40 1635 2
原创 Docker 安全问题与防护 (学习笔记)
文章目录1. Docker面临的安全问题1.1 Docker简介1.2 Docker安全问题2. Docker安全方案2.1 Docker安全基线2.2 Docker安全规则2.3 Docker镜像安全扫描与审计2.4 Docker入侵检测2.5 Docker容器安全隔离与资源控制2.5.1 namespace2.5.2 cgroup2.6 Docker容器系统调用和文件访问的权限控制2.7 安全管理docker容器敏感信息3. 竞品厂商3.1 [neuvector](https://neuvector.c
2020-11-12 18:54:43 1486
原创 systemd (学习笔记)
文章目录1. sysvinit/etc/inittab/etc/init.d/rc 和 /etc/rc.dexample 1example 2example 3sysvinit 缺点2. SystemD2.1 units2.1.1 unit 格式[Unit] 区块[Service] 区块[Install] 区块2.1.2 target2.1.3 service2.1.4 timer2.1.5 sysv兼容2.1.6 调试命令2.1.7 系统命令2.3 systemctl 命令格式大全2.4 journal
2020-11-10 15:29:44 910
原创 Docker 使用 (学习笔记)
文章目录1. 基本概念1.1 Linux namespace1.2 镜像(Image)1.3 容器(Container)1.4 仓库(Respository)2. 安装和使用2.1 安装2.2 镜像加速2.3 hello world2.4 容器文件2.5 镜像使用2.6 离线环境导入镜像2.7 网络端口映射2.8 容器互联2.9 Docker容器开机自动启动2.10 更新容器配置3. 制作自己的 Docker 容器实例3.1 编写 Dockerfile 文件3.2 创建 image 文件3.3 生成容器3
2020-11-10 15:03:45 368
原创 Linux mem 2.1 Page 页帧管理详解
文章目录1. Page1.1 `struct page`定义1.2 `struct page`的初始化1.3 `struct page`的存放位置1.4 `page frame`的物理地址和虚拟地址2. page fault2.1 概述2.2 do_page_fault()2.3 handle_mm_fault()2.4 do_fault()2.5 do_anonymous_page()2.6 do_swap_page()2.7 do_wp_page()3. COW4. Swap4.1 swap out4.
2020-11-06 21:18:05 3196 3
原创 Linux mem 1.3 分页寻址(Paging)机制详解
文章目录1. X86手册定义1.1 paging modes1.2 `4-LEVEL PAGING`和`5-LEVEL PAGING`模式1.2.1 `4-LEVEL PAGING`1.2.2 CR3 format1.2.3 PML5/PGD entry format1.2.4 PML4/P4D entry format1.2.5 PDPT/PUD entry format (1-GByte Page)1.2.6 PDPT/PUD entry format (Page Directory)1.2.7 PD/
2020-11-02 17:14:37 4077
原创 Xenomai (学习笔记)
文章目录1. 简介1.1 实时OS1.2 Adeos域 (Domain)中断管道(Interrupt Pipe)事件管道(event pipeline)乐观的中断保护系统事件传播基于Linux的实现1.3 Adeos为Xenomai提供的服务Xenomai的主要和次要域名系统调用拦截中断传播启用/禁用中断源在域之间共享中断中断共享和延迟结论Xenomai用户层实时的实现(TSC)Xenomai多API构架(skin)Xenomai的应用接口在Cobalt和LInux之间迁移线程Real-Time Drive
2020-11-01 11:12:26 24009 6
原创 AM5728 中断映射
文章目录1. Interrupt Controllers(MPU_INTC)2. Device Interrupts3. IRQ_CROSSBAR Module4. pcie controller 中断5. pcie msi 中断1. Interrupt Controllers(MPU_INTC)The MPU_INTC module (also called Generalized Interrupt Controller [GIC]) is a single functional unit that
2020-11-01 10:57:22 649
原创 软件测试方案设计
文章目录1、软件框架2、测试方案设计2.1、测试覆盖2.2、功能测试和压力测试2.3、自动化测试2.4、持续集成1、软件框架站在软件的角度,一个系统通常可以分为以下四个层次:应用软件层(app layer)。用户重点自己开发的应用代码,例如我们的运动控制器要跑运动控制app,我们的示教器要跑qt用户交互app;中间软件层(middle layer)。在用户app和os系统之间的软件,一般是一些通用的库文件,比如qt库、算法库;操作系统层(os layer)。给用户层提供标准os服务的软件,一般
2020-11-01 10:51:38 5467
原创 vxworks issue: FTP tansfer slowly
文章目录1. 问题现象2. 分析过程Step 1. 排查系统负载过重Step 2. 排查文件系统读写速度Step 3. 排查网口0、网口1Step 4. 排查网卡驱动和网络协议栈Step 5. 排查网口0的走线信号Step 6. 网口0降速测试尝试3. 结论1. 问题现象调试环境:单板(AM335X+linux) --------(GE以太网)----------- 控制器(AM5728+vxworks)出错场景:单板作为ftp client(172.16.89.4),控制器作为ftp server(
2020-11-01 10:44:03 1298 2
原创 vxworks issue: pcie msi interrupt
文章目录1. 问题现象2. 分析过程Step 1. 分析传统的int_x中断流程Step 2. 排查MSI中断流程3. 结论1. 问题现象在调试 Am5728 + vxworks时,风河反馈两个pcie插槽,只有pcie1能使用msi中断pcie2不能使用使用msi中断,后来只能把两个插槽都换成传统的int_x中断。为什么pcie2不能使用msi中断?2. 分析过程AM5728对硬件中断处理部分可以参考"am5728_int_map_summary.pdf"。Step 1. 分析传统的int_x
2020-11-01 10:39:48 1997
原创 vxworks issue: PCIE Bar Base Address Unalignment
文章目录1. 问题现象2. 分析过程Step 1. 排查网卡驱动(vxbGei825xxEnd.c)Step 2. 综合分析(相关知识)Step 3. 排查PCIE物理地址和CPU物理地址转换(vxbPci.c)Step 4. 排查PCIE物理地址的配置(vxbPciAutoCfg.c)3. 结论1. 问题现象在调试 Am5728 + vxworks + 外部pcie网卡(i210) 时,发现可以找到pcie设备,但是网口不通。现象1.可以在vxbus上看到pcie控制器和i210网卡的相关设备和驱
2020-11-01 10:35:41 1817 2
原创 vxworks issue: dtb overwrite
文章目录1. 问题现象2. 分析过程Step 1. 排查网卡驱动(vxbFdtTiCpswEnd.c)Step 2. 排查dtb文件内容Step 3. 排查vxworks内存中dtb内容Step 4. 排查uboot拷贝过程Step 5. 排查Vxworks拷贝过程Step 6. 排查Vxworks运行过程3. 结论1. 问题现象在调试 Am5728 + vxworks时,发现在dts中使能完第二个pcie控制器以后,会造成cpsw网卡注册失败。am572x_idk_ca15.dts加入pcie2控制
2020-11-01 10:27:30 1604 3
原创 vxworks issue: load DKM fail
文章目录1. 问题现象2. 定位过程step 1. 排查出错地址在哪个区域?step 2. 大胆尝试3. 结论1. 问题现象在调试Am5728 + vxworks时,,同时加载算法模块DKM(.out)和通讯模块DKM(.out)文件时,发现有内存分配失败的打印,业务无法启动。另外应用还有反馈,如果算法模块中定义了太多的静态变量,会造成通讯模块无法加载。2. 定位过程step 1. 排查出错地址在哪个区域?仔细看了一下出错的地址0x50d440,这个地址是落在Kernel System Vir
2020-11-01 10:21:33 663
原创 Linux掉电保护方案设计
文章目录1. 硬件掉电检测1.1 硬件电路1.2 软件实现1.2.1 DTS 配置1.2.2 driver2. 软件增强2.1 系统分区写保护2.2 开机文件系统错误修复2.3 运行时功耗优化设备异常掉电,通常是嵌入式设备不得不面对的难题。如果处理不当,异常掉电会造成文件系统损坏、数据丢失,严重者还会造成外部器件的损坏。一个完备的掉电保护方案,从原理上讲,可以从以下几个方面进行加强:1. 硬件掉电检测1.1 硬件电路硬件掉电保护电路主要提供了以下功能:1、提供了24V掉电检测和5V掉电检测功能
2020-11-01 10:14:03 4724 3
原创 Vxworks应用自启动
文章目录1、背景介绍1.1、Vxworks工程1.2、Vxworks shell2、内核应用程序(DKM)自启动2.1、需求来源2.2、方案1(失败)2.3、方案2(成功)3、用户应用程序(RTP)自启动3.1、自动执行方式1(RTP_APPL_INIT_STRING)3.2、自动执行方式2(RTP_APPL_INIT_BOOTLINE)3.3、自动执行方式3(RTP_APPL_INIT_CMD_SHELL_SCRIPT)3.4、自动执行方式4(RTP_APPL_USER)1、背景介绍在开始之前我们先来
2020-11-01 10:06:53 4965 5
学习linux经典图书04: 构建嵌入式Linux系统 Ch
2010-07-04
学习linux经典图书04: 构建嵌入式Linux系统 Ch
2010-07-04
学习linux经典图书03: linux内核原码与情景分析 Ch
2010-07-04
学习linux经典图书03: linux内核原码与情景分析 Ch
2010-07-04
学习linux经典图书03: linux内核原码与情景分析 Ch
2010-07-04
学习linux经典图书03: linux内核原码与情景分析 Ch
2010-07-04
学习linux经典图书02: Linux设备驱动程序 En
2010-07-04
学习linux经典图书02: Linux设备驱动程序 Ch
2010-07-04
学习linux经典图书01: 深入理解Linux内核 En
2010-07-04
学习linux经典图书01: 深入理解Linux内核 Ch
2010-07-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人