<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[fzhenyu的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/fzhenyu</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; fzhenyu]]></copyright><item><title><![CDATA[levelx norFlash]]></title><link>https://blog.youkuaiyun.com/fzhenyu/article/details/131698916</link><guid>https://blog.youkuaiyun.com/fzhenyu/article/details/131698916</guid><author>fzhenyu</author><pubDate>Thu, 13 Jul 2023 11:39:02 +0800</pubDate><description><![CDATA[levelx
实现了flash的均衡摩擦，有针对nor 和 nand的接口
支持均衡
支持读写
支持可移植]]></description><category></category></item><item><title><![CDATA[linux c语言 时间函数 带时区转换]]></title><link>https://blog.youkuaiyun.com/fzhenyu/article/details/128279795</link><guid>https://blog.youkuaiyun.com/fzhenyu/article/details/128279795</guid><author>fzhenyu</author><pubDate>Sun, 11 Dec 2022 22:23:26 +0800</pubDate><description><![CDATA[世界协调时间(Universal Time Coordinated,UTC): GPS 系统中有两种时间区分，一为UTC，另一为LT(地方时)两者的区别为时区不同，UTC就是0时区的时间，地方时为本地时间，如北京为早上八点(东八区)，UTC时间就为零点，时间比北京时晚八小时，以此计算即可。和localtime刚好相反，是将struct tm格式转换为UTC的秒，注意转换的过程会根据本地时区来转换到UTC的秒。返回值：成功则返回秒数，失败则返回((time_t)-1)值，错误原因存于errno中。]]></description><category></category></item><item><title><![CDATA[openwrt移植4G CAT1 (L610) ——自动拨号，获取DNS，守护网络实时在线]]></title><link>https://blog.youkuaiyun.com/fzhenyu/article/details/126408605</link><guid>https://blog.youkuaiyun.com/fzhenyu/article/details/126408605</guid><author>fzhenyu</author><pubDate>Fri, 30 Sep 2022 17:00:11 +0800</pubDate><description><![CDATA[4G模组拨号成功后，发现还是不能正常连接外网。这时还需要通过dhcp来获取ip，同时需要修改/etc/resolv.conf配置域名后才能正常上网；另外我们还担心网络是否会出现异常，此时需要守护网络的健康，让网络实时在线。这里记录调试过程，并提供编写的可用脚本和配置文件。1.移植L610到openwrt下，通过4G CAT1实现ECM拨号上网这步骤这里不重复介绍2.openwrt开发板 MT7628DBarrier Breaker 版本号是14.07，linux内核版本3.10.14。]]></description><category></category></item><item><title><![CDATA[openwrt移植4G CAT1 (L610) ECM拨号上网]]></title><link>https://blog.youkuaiyun.com/fzhenyu/article/details/123254063</link><guid>https://blog.youkuaiyun.com/fzhenyu/article/details/123254063</guid><author>fzhenyu</author><pubDate>Fri, 30 Sep 2022 16:59:40 +0800</pubDate><description><![CDATA[目的
移植L610到openwrt下，通过4G CAT1实现ECM拨号上网

准备
L610模组，以及驱动移植指南
参考资料《FIBOCOM L610系列 ECM拨号指南_Linux_V1.0.4.pdf》



openwrt开发板 MT7628D
Barrier Breaker 版本号是14.07，linux内核版本3.10.14



编译host主机：Ubuntu 14.04.5 LTS


L610和 MT726D通过USB连接
步骤
	编译openwrt系统
	
进入主目录

make menu]]></description><category></category></item><item><title><![CDATA[CMMI和进化论]]></title><link>https://blog.youkuaiyun.com/fzhenyu/article/details/127125796</link><guid>https://blog.youkuaiyun.com/fzhenyu/article/details/127125796</guid><author>fzhenyu</author><pubDate>Fri, 30 Sep 2022 16:57:24 +0800</pubDate><description><![CDATA[再就是借助工具，比如冗余设计，日志记录，在线监测（iot应用），换个思路验证（比如我们如何确定13-5=8 是正确的，可以知道差一定是小于被减数的，换个思路来验证，而不是沿用原来的思路重复验证）借助工具，也可能是做一个工具软件（比如上位机），模拟快速响应、重复交互，以及协助长时间的运行，是否存在内存或者关键指标的变化。敬畏带来好的程序设计，而态度是我们是否用心实现的关键，兴趣或许才是更长远的坚持。更加量化，有反馈，整个流程在什么地方是什么指标，有了量化后。最重要一点的是态度，兴趣，敬畏之心。]]></description><category></category></item><item><title><![CDATA[RTOS 任务划分]]></title><link>https://blog.youkuaiyun.com/fzhenyu/article/details/127125661</link><guid>https://blog.youkuaiyun.com/fzhenyu/article/details/127125661</guid><author>fzhenyu</author><pubDate>Fri, 30 Sep 2022 16:31:05 +0800</pubDate><description><![CDATA[支撑模块是设计人员要重要维护部分，要能够提出系统好坏量化的依据，提出优化点，才能将任务放心拆解到团队后co-work，更新迭代。借助一个工具能个分析实时性才是最主要的，如何验证当前结果满足设计要求，再根据验证结果反复修正，达到设计要求。今天看到这篇文章《嵌入式软件任务的划分的原则》，引发我产品中的设计情况，正好也提出自己的观点，做一个总结。因此此类系统为了能够达到实时性，往往业务是简单的，如果有复杂业务，若影响控制，尽可能剥离出去。任务划分的原则是什么？规则性的做事情，可被规则，监控，方便理解。]]></description><category></category></item><item><title><![CDATA[物联网下的RTOS开发（番外篇）——实时性和理论设计]]></title><link>https://blog.youkuaiyun.com/fzhenyu/article/details/125848268</link><guid>https://blog.youkuaiyun.com/fzhenyu/article/details/125848268</guid><author>fzhenyu</author><pubDate>Mon, 18 Jul 2022 14:16:37 +0800</pubDate><description><![CDATA[当时对于此做了一些思考，因为透传在应用中的也会关系到业务场景，往往性能要求没那么高，再则往后产品迭代，换了M4的主频CPU，完全不存在这个问题，也就没深究了。RTOS对于一般无实时性的要求，我们很多时候就停留在任务的编排、设计上了，加上CPU的发展，能跑RTOS系统的cpu，ram和主频也很高。前面几篇是理论知识，问题描述到位，一针见血的抛出实时性的理解层级和实际会遇到的问题，最后一篇是基于自己开源的perf_counter来实践测试性能的。文章也是陆陆续续的看了好久，总是搁浅，今天看完后总结思考。...]]></description><category></category></item><item><title><![CDATA[linux fork()]]></title><link>https://blog.youkuaiyun.com/fzhenyu/article/details/124560234</link><guid>https://blog.youkuaiyun.com/fzhenyu/article/details/124560234</guid><author>fzhenyu</author><pubDate>Tue, 03 May 2022 19:42:39 +0800</pubDate><description><![CDATA[linux fork() 练习
sleep 是看看父进程退出时，子进程是否退出。
实际是子进程不会因为父进程退出而退出。
int mian ()
{
		pid_t fpid; //fpid表示fork函数返回的值
		int count = 1;
		int pid;
		fpid = fork();
		if (fpid &lt; 0)
			printf("errorin fork!\r\n");
		else if (fpid == 0) {
			pid = getpid();
			printf]]></description><category></category></item><item><title><![CDATA[FreeRTOS 队列操作——异步转同步]]></title><link>https://blog.youkuaiyun.com/fzhenyu/article/details/107523891</link><guid>https://blog.youkuaiyun.com/fzhenyu/article/details/107523891</guid><author>fzhenyu</author><pubDate>Wed, 22 Jul 2020 21:51:43 +0800</pubDate><description><![CDATA[FreeRTOS 队列操作功能说明代码示例注意事项
功能说明
队列可以实现系统的异步转同步的消息机制，用于保证系统和谐运行。以下代码实现为方式。
这里尤其要注意在队列调用的实际使用方式。
代码示例

源文件

/*
 * 2019-10-22
 * by fzy at leshun
 * 
 * harmony_msg.c
 */

#include &lt;stdio.h&gt;
#include &lt;string.h&gt;

#include "cmsis_os.h"
#include "Free]]></description><category></category></item><item><title><![CDATA[TLS、SSL加密]]></title><link>https://blog.youkuaiyun.com/fzhenyu/article/details/102845550</link><guid>https://blog.youkuaiyun.com/fzhenyu/article/details/102845550</guid><author>fzhenyu</author><pubDate>Thu, 31 Oct 2019 20:50:04 +0800</pubDate><description><![CDATA[文章目录TLS、SSL加密TLS/SSL 是什么目的基础知识点对称加密和非对称加密证书TLS原理以及作用参考资料
TLS、SSL加密
TLS/SSL 是什么
传输层加密

目的
传输是指两个人(两个设备)互相交换信息，内容对第三者保密，且不被第三者假冒（签名）。

传输的内容保密
证明发送者是发送者，而不会被第三者假冒发送数据

基础知识点
对称加密和非对称加密

对称加密
AES等，大家都可以用...]]></description><category></category></item><item><title><![CDATA[shell linux 根据进程名字杀进程]]></title><link>https://blog.youkuaiyun.com/fzhenyu/article/details/97004810</link><guid>https://blog.youkuaiyun.com/fzhenyu/article/details/97004810</guid><author>fzhenyu</author><pubDate>Tue, 23 Jul 2019 16:21:29 +0800</pubDate><description><![CDATA[ps| grep DTU_MG.exe |grep -v grep | awk '{print $1}'|xargs kill -9

$1 是第一个变量

$0 是指全部字符串

可以用如下命令观察


ps| grep DTU_MG.exe |grep -v grep | awk '{print $1}'




...]]></description><category></category></item><item><title><![CDATA[BOA 调用 CGI 原理]]></title><link>https://blog.youkuaiyun.com/fzhenyu/article/details/94397438</link><guid>https://blog.youkuaiyun.com/fzhenyu/article/details/94397438</guid><author>fzhenyu</author><pubDate>Mon, 01 Jul 2019 16:44:34 +0800</pubDate><description><![CDATA[文章目录BOA 调用 CGI 原理
BOA 调用 CGI 原理

环境：
arm7 i.mx6ul
源码 boa-0.94.13

boa 移植以及怎么使用CGI网上有很多示例，但是找不到原理相关的。今天项目中有关用到，就看了下源码。
首先我们用放在’cgi-bin/’ 目录下的动xxx.cgi文件是一个可执行文件，可以使用./xxx.cgi来开始执行，其实是可以正常跑的。cgi编译的输出一般是用...]]></description><category></category></item><item><title><![CDATA[linux利用shell实现守护进程的脚本]]></title><link>https://blog.youkuaiyun.com/fzhenyu/article/details/93523118</link><guid>https://blog.youkuaiyun.com/fzhenyu/article/details/93523118</guid><author>fzhenyu</author><pubDate>Mon, 24 Jun 2019 20:44:17 +0800</pubDate><description><![CDATA[原

linux利用shell实现守护进程的脚本

2016年07月26日 15:13:03 帘卷西风 阅读数 12466 标签： shell 服务器 游戏开发 linux 守护进程  更多

个人分类： 游戏开发 系统运维 

所属专栏： 游戏服务器开发专栏

转载请注明出处：帘卷西风的专栏(http://blog.youkuaiyun.com/ljxfblog&lt;/a&gt;)&lt;/p&gt;

...]]></description><category></category></item><item><title><![CDATA[linux启动过程]]></title><link>https://blog.youkuaiyun.com/fzhenyu/article/details/91398137</link><guid>https://blog.youkuaiyun.com/fzhenyu/article/details/91398137</guid><author>fzhenyu</author><pubDate>Mon, 10 Jun 2019 20:30:22 +0800</pubDate><description><![CDATA[Linux开机启动十步骤

收藏分享2012-2-6 11:15|发布者:红黑魂|查看数: 1366|评论数: 0|来自: 比特网

摘要: 　　开机过程指的是从打开计算机电源直到LINUX显示用户登录画面的全过程。分析LINUX开机过程也是深入了解LINUX核心工作原理的一个很好的途径。　　启动第一步--加载BIOS　　当你打开计算机电源，计算机会首先加载BIO ...

　　开机过程指...]]></description><category></category></item><item><title><![CDATA[Linux 时间修改--date -s命令]]></title><link>https://blog.youkuaiyun.com/fzhenyu/article/details/90313820</link><guid>https://blog.youkuaiyun.com/fzhenyu/article/details/90313820</guid><author>fzhenyu</author><pubDate>Sat, 18 May 2019 12:36:07 +0800</pubDate><description><![CDATA[转：https://blog.youkuaiyun.com/babymouse1212/article/details/71078876

Linux 时间修改 不重启修改时区
一、修改linux的时间
root使用date指令:date -s
1、只修改日期,不修改时间,输入:
Linux代码
 1. date -s 2007-08-03
date -s 2007-08-03
2、只修改时间,输入:...]]></description><category></category></item><item><title><![CDATA[visualGDB下导入cmake工程]]></title><link>https://blog.youkuaiyun.com/fzhenyu/article/details/90244691</link><guid>https://blog.youkuaiyun.com/fzhenyu/article/details/90244691</guid><author>fzhenyu</author><pubDate>Wed, 15 May 2019 20:50:06 +0800</pubDate><description><![CDATA[新建工程




创建工程所在目录，给工程起名字


导入cmake工程


配置linux（Ubuntu为例）主机环境


选择源文件目录，


让源代码存在windows电脑下


导入工程完成---点击finish完成，编译就可以了

...]]></description><category></category></item><item><title><![CDATA[物联网下的RTOS开发（四）——数据存储]]></title><link>https://blog.youkuaiyun.com/fzhenyu/article/details/89424693</link><guid>https://blog.youkuaiyun.com/fzhenyu/article/details/89424693</guid><author>fzhenyu</author><pubDate>Sat, 20 Apr 2019 22:15:06 +0800</pubDate><description><![CDATA[文章目录数据存储一、存储介质二、物联网场景三、模型设计直接存储可靠性直接存储文件系统应用
数据存储
在window或者linux下开发程序，程序员往往不会关心文件存储的介质。因为操作系统已经为我们封装好了操作硬件（磁盘）的可能会用的绝大部分接口。只要我们调用一下相关IO接口就能完成对磁盘的操作。而目前IOT设备资源很限，用于存储的可以是ram或者flash，ram的容量往往是几K字节到几百K字节，...]]></description><category></category></item><item><title><![CDATA[物联网下的RTOS开发（三）——队列的进阶]]></title><link>https://blog.youkuaiyun.com/fzhenyu/article/details/86629111</link><guid>https://blog.youkuaiyun.com/fzhenyu/article/details/86629111</guid><author>fzhenyu</author><pubDate>Thu, 24 Jan 2019 16:26:22 +0800</pubDate><description><![CDATA[队列的进阶

 

一、队列、消息队列

队列是什么，对于程序员都不会陌生，在单片机开发的时候，也会有接触。比如串口，有些MCU的串口为了高效自带FIFO功能。队列简单易用，在物联网下基于RTOS的开发中更是显神通，称为消息队列。

消息队列在FreeRTOS下所有的通信与同步机制都是基于队列实现的。用法和创建任务类似，独立于任务，也是RTOS下核心的一个组件。主要有几个特性：

1.缓冲数据：和...]]></description><category></category></item><item><title><![CDATA[Ubuntu+ visual studio + visualGdb]]></title><link>https://blog.youkuaiyun.com/fzhenyu/article/details/86611707</link><guid>https://blog.youkuaiyun.com/fzhenyu/article/details/86611707</guid><author>fzhenyu</author><pubDate>Wed, 23 Jan 2019 15:46:31 +0800</pubDate><description><![CDATA[一、环境：

Linux主机（host）：Ubuntu14.04

Windows 开发环境：win10+visual studio Community 2017+ visualGDB5.4R2

开发板（target）：imx6

 

为了方便开发arm linux 的app应用，方便仿真。其实ubuntu下装eclipse也是可以的，前提是不要装虚拟机，在虚拟机下开发一般会比较卡。

 

...]]></description><category></category></item><item><title><![CDATA[arm linux下配置静态IP]]></title><link>https://blog.youkuaiyun.com/fzhenyu/article/details/86611646</link><guid>https://blog.youkuaiyun.com/fzhenyu/article/details/86611646</guid><author>fzhenyu</author><pubDate>Wed, 23 Jan 2019 15:44:21 +0800</pubDate><description><![CDATA[参考：https://blog.youkuaiyun.com/u011077672/article/details/71123319

 

以下是开发板下配置文件，粗体部分设置静态IP,配置完后下次重启生效

 

root@mys6ull14x14:~# cat /etc/network/interfaces                 

# /etc/network/interfaces -- c...]]></description><category></category></item></channel></rss>