自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Jackindata

嵌入式软件开发 - Linux - TI - Xilinx

原创 《代码大全》笔记 18 - 表驱动法

豆瓣:https://book.douban.com/subject/1477390/ 《Code Complete》2d ed,CC2 把程序中的信息存放在数据里而不是逻辑里——也就是说,放在表中而不是 if 检测中。 核对表 你考虑过把表驱动法作为复杂逻辑的替换方案吗 你考虑过把表...

2020-05-25 22:36:47 18 0

原创 《代码大全》笔记 17 - 不常见的控制结构

豆瓣:https://book.douban.com/subject/1477390/ 《Code Complete》2d ed,CC2 核对表 return 每一个子程序都仅在有必要的时候才使用 return 吗 使用 return 有助于增强可读性吗 递归 递归子程序中包...

2020-05-25 22:06:52 20 0

原创 系统软件版本变更规范

总原则 版本号与具体软件内容具有唯一对应关系,内容有任何变更,版本号必须跟随变更。 自定义版本号,遵循语义化版本原则( https://semver.org/lang/zh-CN/)。 uboot 示例:u-boot-2017.01-v1.2.1-g8fc2019 说明:u-boot 是固...

2020-05-14 17:56:07 32 0

原创 《代码大全》笔记 16 - 控制循环

豆瓣:https://book.douban.com/subject/1477390/ 《Code Complete》2d ed,CC2 循环的种类 计数循环 连续求值的循环 无限循环 迭代器循环 循环体带退出的循环(break) 核对表 避免初始化代码混入循环控制语句了吗 避...

2020-05-10 22:19:54 17 0

原创 修改 systemd 配置以加快系统启动速度

我们默认的系统启动耗时需要 30 秒以上。但客户做产品,需要尽快把系统启动,以便程序产品功能。一开始我是琢磨着怎么在 OE 里修改或追加 bb 配置,直接构建一个定制的符合启动时间要求的文件系统出来。 但 OE 的配置很复杂。见https://blog.csdn.net/engrossment/...

2020-05-08 15:39:29 30 0

原创 《代码大全》笔记 15 - 使用条件语句

豆瓣:https://book.douban.com/subject/1477390/ 《Code Complete》2d ed,CC2 核对表 需要执行的正常情况是位于 if 而不是 else 子句里吗 把复杂的判断封装到返回布尔值的函数里了吗 先判断最常见的情况了吗 判断包含了所...

2020-05-07 22:34:30 20 0

原创 基于 OE 构建单一工具包

前面有讲解了 OE 开发环境的搭建以及基本使用:https://blog.csdn.net/engrossment/article/details/105866276 在此基础上,下面以 vim 工具的构建进行举例说明。开发环境中有各种各样的工具包,搜索确认有 bb 文件配置好即可轻松进行构建。...

2020-05-07 18:26:32 30 0

原创 基于 OE、Yocto、Arago 构建 TI 板卡的定制文件系统

环境搭建 PC 系统 Ubuntu 或 CentOS。推荐 Ubuntu 14.04、16.04。 安装必要工具 HOST# sudo apt-get install git build-essential python diffstat texinfo gawk chrpath dos2...

2020-04-30 17:34:27 60 0

原创 《代码大全》笔记 14 - 组织直线型代码

豆瓣:https://book.douban.com/subject/1477390/ 《Code Complete》2d ed,CC2 核对表 代码使得语句之间的依赖关系变得明显吗 子程序的名字使得依赖关系变得明显吗 子程序的参数使得依赖关系变得明显吗 代码容易按照自上而下的顺序阅...

2020-03-31 22:11:12 30 0

原创 《代码大全》笔记 13 - 不常见的数据类型

豆瓣:https://book.douban.com/subject/1477390/ 《Code Complete》2d ed,CC2 核对表:使用不常见的数据类型的注意事项 结构体 你有注意考虑使用结构体来使得程序更简单、易懂以及易于维护吗 有进一步考虑使用类来代替结构体会更方便吗...

2020-03-31 21:46:39 28 0

原创 《质量总监成长记》笔记

豆瓣读书:https://book.douban.com/subject/30766067/ 案例详实,还有很多心理历程描写。书中主人公唐风的努力、无奈、喜悦,让人动容。可读性很高。以下为本书的阅读总结导图。 2020-03-31 ...

2020-03-31 16:21:58 70 0

原创 CAN 通信测试工具 canutils

概述 CAN,Controller Area Network,控制器局域网,一种高可靠性的现场总线。广泛用于汽车电子、工业控制通信。 canutils 工具包内含 5 个独立的程序:canconfig、candump、canecho、cansend、cansequence。这几个程序的功能简述...

2020-03-31 15:14:05 184 0

原创 系统时间与 RTC 时间设置方法

方法说明 嵌入式设备,尤其是带电池的设备,系统时间特别依赖于 RTC 来维持。这一般也没问题,都有成熟的实现方案。 但涉及时区时,就有一些坑需要特别注意了。为了内核的运行可靠,RTC 的时区设置保持为 UTC,当系统时区不是 UTC 时需要特别注意设置方法,所以分两种情况进行说明。 ...

2020-02-28 22:56:36 300 0

原创 异构多核之PRU

PRU 全称是The Programmable Real-Time Unit Subsystem,也叫 PRUSS。在 TI 早期的 OMAPL138、C674x 等系列 SoC 上,还是叫 PRUSS。到现在主推的 Sitara 系列,增强了其工业应用,改为叫 PRU-ICSS,也就是Indus...

2020-02-27 22:05:50 102 0

原创 《代码大全》笔记 12 - 基本数据类型

豆瓣:https://book.douban.com/subject/1477390/ 《Code Complete》2d ed,CC2 核对表 数值概论 代码中使用神秘数值了吗 考虑了除零错误吗 类型转换明显吗 如果同一条语句中出现两个数据类型,会出错吗 避免混合类型比较了吗 ...

2020-02-22 15:37:44 27 0

原创 用递归方法扫描 SVN 仓库下载符合条件的文件

#!/bin/bash set -e IFS=$'\n' DEMOS_URL="https://192.168.1.199/svn/tl-linux-applicationRS/2-demos" function list() { local U...

2020-02-20 18:04:31 58 0

原创 《代码大全》笔记 11 - 变量名的力量

豆瓣:https://book.douban.com/subject/1477390/ 《Code Complete》2d ed,CC2 核对表 2020年1月21日 - 廖杰良

2020-01-21 13:48:35 39 0

原创 《代码大全》笔记 10 - 使用变量的一般事项

豆瓣:https://book.douban.com/subject/1477390/ 《Code Complete》2d ed,CC2 变量初始化的原则 在声明变量的时候初始化。 在靠近变量第一次使用的位置初始化它。结合第一条,应当在即将使用的时候声明,然后马上初始化变量。 ...

2020-01-07 20:46:14 30 0

原创 《代码大全》笔记 09 - 伪代码编程过程

豆瓣:https://book.douban.com/subject/1477390/ 《Code Complete》2d ed,CC2 伪代码编程过程是创建类和子程序的最佳方法。其他的方法还有,测试先行开发(测试驱动开发),重构,契约式设计。 “伪代码”这个术语是指某种用来描...

2020-01-05 16:54:33 41 0

原创 《代码大全》笔记 08 - 防御式编程

豆瓣:https://book.douban.com/subject/1477390/ 《Code Complete》2d ed,CC2 在防御式驾驶中要建立这样一种思维,那就是你永远也不能确定另一位司机将要做什么。你要承担起保护自己的责任,哪怕是其他司机犯的错误。 保护程序免遭非法...

2020-01-01 20:01:27 28 0

原创 《代码大全》笔记 07 - 高质量的子程序

豆瓣:https://book.douban.com/subject/1477390/ 《Code Complete》2d ed,CC2 创建子程序的正当理由 降低复杂度。 引入中间的、易懂的抽象。 避免代码重复。 支持子类化。方便在派生类中覆盖单一功能。 ...

2019-12-29 19:34:56 38 0

原创 《代码大全》笔记 06 - 可以工作的类

豆瓣:https://book.douban.com/subject/1477390/ 《Code Complete》2d ed,CC2 软件开发技术的发展,先是直接基于语句来思考编程问题,然后发展到基于子程序来思考,到现在是基于类来思考。 类是由一组数据和子程序构成的集合,这...

2019-12-28 20:52:55 29 0

原创 《代码大全》笔记 05 - 软件构建中的设计

豆瓣:https://book.douban.com/subject/1477390/ 《Code Complete》2d ed,CC2 设计中的挑战 设计是一个险恶的问题 你必须首先把这个问题“解决”一遍以便能够明确地定义它,然后再次解决该问题,从而形成一个可行的方案。 设计是个...

2019-12-15 18:35:14 40 0

原创 板卡复位功能测试规范

概述 复位,作为板卡独立设计的功能,需要独立的专门性测试。 测试用例 首先根据板卡设计筛选出所有受复位功能影响的外设和器件,作为该项测试的测试对象。然后,通过 reset 键(full、warm、PMIC)、reboot 命令,各种复位系统的方法,分别执行测试: 保持外设连接不变,复位系统...

2019-12-10 20:46:43 126 0

原创 一个简单的内存读写带宽测试程序

之前有写文章介绍了 mbw(https://blog.csdn.net/engrossment/article/details/88314722)以及 lmbench(https://blog.csdn.net/engrossment/article/details/83830363)。其中 mb...

2019-11-25 17:05:01 467 0

原创 UART0 作为调试串口的同时与普通串口 UART3 对接测试的方案

缘由 在硬件自动化测试中,数据通信接口最好有对接的方式,由程序自动完成数据收发与校验,从而实现对硬件接口的测试验证。这里讲到的 UART0 与 UART3 的测试,由于为了保留 UART0 作为调试串口的功能,便于维修人员使用,所以需要特别的处理方案。 硬件连接原理 这里 UART0 是...

2019-11-14 11:34:54 145 0

原创 重开 CSDN 博客一周年

大学的时候开始写技术博客,最早是在 CSDN 开的。后来整了个个人博客(http://liaojieliang.com/),处于某个记不清的原因,清空了 CSDN 的博客。不久之后觉得个人博客的访问量低得可怜,又不便于与他人做技术交流,于是在 cnblogs 开始写。 然后到去年的今天,2018...

2019-11-09 15:38:06 44 0

原创 《研发管理破局》笔记 10 - 技术管理

豆瓣:https://book.douban.com/subject/30402872/ 10.1 技术开发于产品、平台开发的区别 产品开发与产品平台开发的需求分析差异:产品开发需求直接来源于客户,产品平台开发需求源于产品型谱的差异化分析。 产品开发与产品平台开发的验收标准...

2019-11-07 08:29:46 50 0

原创 《研发管理破局》笔记 04 - 研发成本管理

豆瓣读书:https://book.douban.com/subject/30402872/ 4.1 产品开发全生命周期成本管理 产品生命周期成本 研发费用 产品直接成本 产品制造成本 产品维护费用 产品销售费用 产品处置费用 4.2 规划研发成本管理体系 成本管理是在成本方面...

2019-10-19 15:10:00 150 0

原创 Windows WSL 及 Windows Terminal 工具

WSL 的全称是 Windows Subsystem for Linux。这使得我们在 Windows 上直接使用 Linux 环境,比通过 VMware、VirtualBox 安装虚拟机更为便捷。至于性能,有看到网友进行了简单测试,与虚拟机里的系统不相上下。微软有在开发更高性能的 WSL2,不过...

2019-10-18 12:13:13 1680 0

原创 《研发管理破局》笔记 03 - 研发质量管理

豆瓣读书:https://book.douban.com/subject/30402872/ 所谓质量是满足顾客要求的程度。因此研发质量管理的目标就是清晰地定义顾客要求,并实现顾客要求。研发质量管理包括设计控制、设计转换、更改控制、技术文件的控制。 3.1 设计控制 设计控制的原理是从设计...

2019-10-18 08:40:57 78 0

原创 《研发管理破局》笔记 02 - 定义产品开发的结构

豆瓣读书:https://book.douban.com/subject/30402872/ 2.1 价值链与开发链 从获取顾客需求到满足顾客需求以实现价值的全过程就构成了价值链。 价值链中与设计开发有关的活动组成了开发链。 开发链管理系统(Development Chain Manag...

2019-10-10 08:40:03 57 0

原创 《研发管理破局》笔记 01 - 研发管理的理论多菱镜

豆瓣读书:https://book.douban.com/subject/30402872/ 为什么要学习理论 研发管理人员如果没有良好的理论素养和全局观,把握好改进方向,而是同其他人员一样陷入技术或经验的泥潭,或是被动接受大家的处理意见,就不能与高层领导产生良性互动,从而逐步找到解决问题的...

2019-10-07 16:38:52 150 0

原创 《研发管理破局》笔记 00 - 引言

豆瓣读书:https://book.douban.com/subject/30402872/ 本书内容概览 本书分析总结了如何应用 ISO9001、CMMI、PMBOK、SGS、PACE 等研发管理方法,以及这些方法的局限性;从项目管理、资源管理、战略管理研发管理变革四个方面对研发管理的各个...

2019-10-06 15:20:28 130 0

原创 Linux 中的 bashrc、vimrc 及 tmux.conf 配置

概述 趁手的工具能大大提高生产力。而对于整天与 Linux 字符终端打交道的程序员来说,终端工具、shell 工具以及文本编辑工具,一定要用好、用趁手。这里 3 个工具我选择的分别是 tmux、bash、Vim。当然,*NIX(UNIX、Linux)环境下还有很大其他很好的选择,如 screen...

2019-09-30 10:17:56 58 0

原创 SATA 和 USB 的移除与扫描加载测试

在硬件验收测试中有发现板卡偶尔识别 SATA 盘失败的情况,为了进一步测试定位问题,专门找了这个 SATA 设备的移除与扫描加载测试方法。以下基于广州创龙的 TL138 进行说明。 我们这里的移除和加载是在系统驱动层面的动作,而非物理上的。所以我们要看设备接入到系统所使用的总线,SATA 盘使用...

2019-09-20 09:34:33 246 0

原创 ZLG AWTK 移植到 TL5728

周立功最近两年在软件上做了不少东西,其中 awtk GUI 框架开源了,于是拿来在广州创龙的 5728 开发板上试试玩下。以下为移植过程。 tslib 交叉编译 awtk 依赖 tslib,而 5728 的 sdk 开发环境并未带有。所以需要先进行交叉编译移植。 在配置好 5728 SDK ...

2019-09-18 12:05:19 531 3

原创 Ubuntu 下使用 ZTE ME3630 4G 模块

之前在 TL5728-EasyEVM 开发板上使用过这个模块,用来在野外采集数据上传到服务器。最近接触另外一个项目,做一个演示用的样机,需要移动的,也是采用了这个模块来上传数据。样机环境是 Ubuntu 16.04 32bit。这里总结下这个模块的使用方法。 其实很简单,一共就以下几个步骤。如果...

2019-09-17 08:38:00 1160 3

原创 存储设备与总线性能测试工具 Fio

本博客前面介绍的读写性能测试工具 Bonnie:https://blog.csdn.net/engrossment/article/details/83833287 以及 Bonnie++:https://blog.csdn.net/engrossment/article/details/8413...

2019-08-27 10:23:14 515 0

原创 《代码大全》笔记 04 - 关键的“构建”决策

豆瓣:https://book.douban.com/subject/1477390/ 《Code Complete》2d ed,CC2 第 3 章关注焦点是确定“当构建开始后你需要做什么”,本章关注的焦点是程序员和技术带头人必须负责的准备工作,是更加具体、细致的内容。 4.1 选择编程语...

2019-08-25 12:16:33 49 0

提示
确定要删除当前文章?
取消 删除