<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[xiaotong0202的专栏]]></title><description><![CDATA[2012开始新的一天，新的开始]]></description><link>https://blog.youkuaiyun.com/xiaotong0202</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; xiaotong0202]]></copyright><item><title><![CDATA[电磁兼容stm32芯片引脚失效问题]]></title><link>https://blog.youkuaiyun.com/xiaotong0202/article/details/86139993</link><guid>https://blog.youkuaiyun.com/xiaotong0202/article/details/86139993</guid><author>xiaotong0202</author><pubDate>Wed, 09 Jan 2019 11:51:55 +0800</pubDate><description><![CDATA[现象描述：公司产品485主设备带从设备通信，电磁兼容四级后，通讯正常，AI设备读取模拟量一直不变

现象分析：通过抓报文，模拟量设备数据读取数据不变，通讯正常说明设备没有死机，运行正常，后来猜测设备AI读取的逻辑被打乱，加入调试信息，当时序不对，就把AI的值设置为一个固定值，再次实验，问题依旧，时序正常，把设备重新上电后可以恢复正常，说明不是硬件被永久性打坏

既然重启好用，就在代码里买次读取完a...]]></description><category></category></item><item><title><![CDATA[STM32F407因为结构体字节对齐导致的HardFault_Handler异常]]></title><link>https://blog.youkuaiyun.com/xiaotong0202/article/details/86139460</link><guid>https://blog.youkuaiyun.com/xiaotong0202/article/details/86139460</guid><author>xiaotong0202</author><pubDate>Wed, 09 Jan 2019 11:34:56 +0800</pubDate><description><![CDATA[STM32因为结构体字节对齐导致的HardFault_Handler异常
该问题遇到了好多次，前几次都因为赶，没有深究，前几天刚好空闲下来便排查了下。 
现象是这样的：我使用到stm32的can通信，代码本来是运行正常的。后来添加了一个9字节的结构体变量，编译后下载到目标板子运行，发现只要一接收can消息，就会进入HardFault_Handler异常，在网上查找解决方法，发现进入HardFaul...]]></description><category></category></item><item><title><![CDATA[STM32F4-浮点DSP库的MDK开发环境的设置]]></title><link>https://blog.youkuaiyun.com/xiaotong0202/article/details/85260214</link><guid>https://blog.youkuaiyun.com/xiaotong0202/article/details/85260214</guid><author>xiaotong0202</author><pubDate>Wed, 26 Dec 2018 12:39:06 +0800</pubDate><description><![CDATA[步骤如下：

1 . 建立工程，添加相关必要的文件到工程中。

 

2. 打开 option for target 选择 Target 标签，在code generatio中，将floating point hardware 选择 USE FPU。

 

3.  编译你的工程，保证通过。当然也不一定需要编译通过，先做编译是为了后面添加浮点库做准备，这样发现问题和知道哪里出问题。

 

4. ...]]></description><category></category></item><item><title><![CDATA[详解linux启动过程]]></title><link>https://blog.youkuaiyun.com/xiaotong0202/article/details/85094854</link><guid>https://blog.youkuaiyun.com/xiaotong0202/article/details/85094854</guid><author>xiaotong0202</author><pubDate>Wed, 19 Dec 2018 13:35:46 +0800</pubDate><description><![CDATA[ARM Linux启动过程分析是本人要介绍的内容，嵌入式 Linux 的可移植性使得我们可以在各种电子产品上看到它的身影。对于不同体系结构的处理器来说Linux的启动过程也有所不同。本文以S3C2410 ARM处理器为例，详细分析了系统上电后 bootloader的执行流程及 ARM Linux的启动过程。

 

1、引 言

Linux 最初是由瑞典赫尔辛基大学的学生 Linus Torval...]]></description><category></category></item><item><title><![CDATA[AM335X开发日记]]></title><link>https://blog.youkuaiyun.com/xiaotong0202/article/details/82882935</link><guid>https://blog.youkuaiyun.com/xiaotong0202/article/details/82882935</guid><author>xiaotong0202</author><pubDate>Fri, 28 Sep 2018 14:33:49 +0800</pubDate><description><![CDATA[AM335X平台开发日记

2014-11-24至2014-11-29进行核心板原理图设计

2014-12-1至2014-12-10

进行PCB设计。

2014-12-5

开始学习AM335X软件部分的知识。

安装了vmware虚拟机,10.0.1版本的。

安装了ubunt12.04版本。

安装vmware-tools,创建共享文件夹。

在root(需执行sudo su)下执行mo...]]></description><category></category></item><item><title><![CDATA[Apollo 2.5 安装踩坑指南(转载)]]></title><link>https://blog.youkuaiyun.com/xiaotong0202/article/details/82756283</link><guid>https://blog.youkuaiyun.com/xiaotong0202/article/details/82756283</guid><author>xiaotong0202</author><pubDate>Tue, 18 Sep 2018 13:21:47 +0800</pubDate><description><![CDATA[apollo 是百度的无人驾驶平台。

环境

Ubuntu 14.04.4
	Dokcer-CE 17.09.1
先安装 Docker

官网教程安装 Docker 在网不好的情况下会有大概率安装不成功。
国内建议使用 DaoCloud 安装 Dokcer


sudo apt-get update
sudo apt-get install -y \
    apt-transport-http...]]></description><category></category></item><item><title><![CDATA[大数据学习]]></title><link>https://blog.youkuaiyun.com/xiaotong0202/article/details/80426693</link><guid>https://blog.youkuaiyun.com/xiaotong0202/article/details/80426693</guid><author>xiaotong0202</author><pubDate>Wed, 23 May 2018 21:39:28 +0800</pubDate><description><![CDATA[kafka环境的搭建Kafka集群搭建1、  Kafka的安装需要java环境，cent os 7自带java1.6版本，可以不用重新安装，直接使用自带的jdk                       即可；如果觉得jdk版本太旧，也可以自己重新安装；2、  准备好kafka安装包，官网下载地址： http://kafka.apache.org/downloads.html3、  下载好kaf...]]></description><category></category></item><item><title><![CDATA[ROS 不能再详细的安装教程]]></title><link>https://blog.youkuaiyun.com/xiaotong0202/article/details/79542282</link><guid>https://blog.youkuaiyun.com/xiaotong0202/article/details/79542282</guid><author>xiaotong0202</author><pubDate>Tue, 13 Mar 2018 16:32:03 +0800</pubDate><description><![CDATA[关于ROS（Robot OS 机器人操作系统），估计看这个博文的大兄弟之前已经都知道是啥了，我就不咋呼了...对于ROS的安装，在它的官方网站: http://wiki.ros.org/ROS/Installation 中也有详细说明。但是对于像博主这样先天英语发育不全的人来说，直接看官网还是有点困难的。所以博主痛定思痛，经过一番呕心沥血与含辛茹苦的调研后(其实就是看了几篇相关博客)，终于在博主的...]]></description><category></category></item><item><title><![CDATA[安装scrapy过程问题记录]]></title><link>https://blog.youkuaiyun.com/xiaotong0202/article/details/79300141</link><guid>https://blog.youkuaiyun.com/xiaotong0202/article/details/79300141</guid><author>xiaotong0202</author><pubDate>Fri, 09 Feb 2018 16:56:17 +0800</pubDate><description><![CDATA[  虚拟机安装完成后，首先安装pip，然后利用pip安装scarpy过程过程中，出现error: command 'x86_64-linux-gnu-gcc' failed with exit status 1错误实际是缺少依赖在ubuntu14.04版本上安装scrapy(lxml)，老是出错，在一番艰辛的搜索之后 ，终于找出了安装的正确方法，其实也就是没有将依赖包装全：1. 第一 反应是缺少 ...]]></description><category></category></item><item><title><![CDATA[mosquitto在Linux环境下的部署/安装/使用/测试]]></title><link>https://blog.youkuaiyun.com/xiaotong0202/article/details/78839943</link><guid>https://blog.youkuaiyun.com/xiaotong0202/article/details/78839943</guid><author>xiaotong0202</author><pubDate>Tue, 19 Dec 2017 10:34:02 +0800</pubDate><description><![CDATA[看了有三四天的的源码，（当然没怎么好好看了），突然发现对mosquitto的源码有了一点点感觉，于是在第五天决定在Linux环境下部署mosquitto。
使用传统源码安装步骤：
步骤1：http://mosquitto.org/files/source/官网下载源码，放到Linux环境中。解压后，找到主要配置文件config.mk,其中包含mosquitto的安装选项，需要注意的是，默认情况]]></description><category></category></item><item><title><![CDATA[MQTT源码交叉编译与移植]]></title><link>https://blog.youkuaiyun.com/xiaotong0202/article/details/78683178</link><guid>https://blog.youkuaiyun.com/xiaotong0202/article/details/78683178</guid><author>xiaotong0202</author><pubDate>Fri, 01 Dec 2017 09:22:18 +0800</pubDate><description><![CDATA[基于MQTT源码的嵌入式LINUX移植，网上可参看资料几乎没有，估计是用的不多，没什么人弄，又或者


太简单，没人写参考。这里记录下编译与移植过程。大致有三部分，交叉编译openssl、交叉编译MQTT、安装MQTT服务器。

1 交叉编译OPENSSL

因为MQTT用到OPENSSL库，所以编译MQTT的时候要先编译OPENSSL。解压源文件，创建openssl安装目录，配置o]]></description><category></category></item><item><title><![CDATA[mx280调试笔记]]></title><link>https://blog.youkuaiyun.com/xiaotong0202/article/details/78676247</link><guid>https://blog.youkuaiyun.com/xiaotong0202/article/details/78676247</guid><author>xiaotong0202</author><pubDate>Thu, 30 Nov 2017 14:56:33 +0800</pubDate><description><![CDATA[第一个问题，文件不可写的问题




用cat  /proc/mounts查看可以看到

rootfs  /  rootfs  ro,relatime  0  0

将文件系统改为可读写，执行下面的命令

mount  -o  remount,rw  rootfs  /

文件系统成为可读写了]]></description><category></category></item><item><title><![CDATA[AngularJS中使用的表单验证]]></title><link>https://blog.youkuaiyun.com/xiaotong0202/article/details/51171979</link><guid>https://blog.youkuaiyun.com/xiaotong0202/article/details/51171979</guid><author>xiaotong0202</author><pubDate>Sun, 17 Apr 2016 10:17:37 +0800</pubDate><description><![CDATA[客户端表单验证是AngularJS里面最酷的功能之一。 AngularJS表单验证可以让你从一开始就写出一个具有交互性和可相应的现代HTML5表单。

在AngularJS中，有许多表单验证指令。在这里，我们将谈谈几个最流行指令，然后我们将讨论如何编写自定义的验证。

form name="form">
  label name="email">Your emaillabel>
  inp]]></description><category></category></item><item><title><![CDATA[AngularJS 最常用的八种功能]]></title><link>https://blog.youkuaiyun.com/xiaotong0202/article/details/51171778</link><guid>https://blog.youkuaiyun.com/xiaotong0202/article/details/51171778</guid><author>xiaotong0202</author><pubDate>Sun, 17 Apr 2016 09:35:02 +0800</pubDate><description><![CDATA[第一 迭代输出之ng-repeat标签
ng-repeat让table ul ol等标签和js里的数组完美结合





1
2
3
4
5





{{person.name}} is {{person.age}} years old.








你甚至可以指定输出的顺序：





1










第二 动态绑定]]></description><category></category></item><item><title><![CDATA[AngularJS ng-repeat下使用ng-model]]></title><link>https://blog.youkuaiyun.com/xiaotong0202/article/details/51171771</link><guid>https://blog.youkuaiyun.com/xiaotong0202/article/details/51171771</guid><author>xiaotong0202</author><pubDate>Sun, 17 Apr 2016 09:31:19 +0800</pubDate><description><![CDATA[举例：





1
2
3



blue:
red:
yellow: 






以上代码实现一个单选框功能，当你选中其中的一个单选框，可以从$scope.selectValue中得到你选中的的选项的value。
同时改变$scope.selectValue的值，也可以让界面上选中相应的单选框。

假设单选框的个数是不固定的，用ng-repeat来展现。]]></description><category></category></item><item><title><![CDATA[做一个快乐的程序员]]></title><link>https://blog.youkuaiyun.com/xiaotong0202/article/details/51042593</link><guid>https://blog.youkuaiyun.com/xiaotong0202/article/details/51042593</guid><author>xiaotong0202</author><pubDate>Sat, 02 Apr 2016 09:03:10 +0800</pubDate><description><![CDATA[今天在博客园看到施瓦小辛格的文章我们搞开发的为什么会感觉到累，顿时有感而发。自己本来不擅长写文章，更不擅长写这种非技术性的文章，但是在思绪喷薄之际，还是止不住有很多话要说。针对从客观上说”搞开发的很累”这种说法，我也来发表一下我的看法。
我们的累

我们搞开发的为什么会感觉到累，文中已经说了很多，简单的讲，主要是担心和紧张感以及加班的劳累。

明天项目上线，通宵改BUG，好累。
需求变]]></description><category></category></item><item><title><![CDATA[Linux C Socket编程原理及简单实例]]></title><link>https://blog.youkuaiyun.com/xiaotong0202/article/details/50981875</link><guid>https://blog.youkuaiyun.com/xiaotong0202/article/details/50981875</guid><author>xiaotong0202</author><pubDate>Fri, 25 Mar 2016 16:36:30 +0800</pubDate><description><![CDATA[部分转自：http://goodcandle.cnblogs.com/archive/2005/12/10/294652.aspx
1.   什么是TCP/IP、UDP？
2.   
Socket在哪里呢？
3.  
Socket是什么呢？
4.  
有很多的框架，为什么还在从Socket开始？
5.   Linux C Socket简单示例

 
1.什么是TCP/IP、U]]></description><category></category></item><item><title><![CDATA[GetMemory的几个笔试题 面试碰到两次]]></title><link>https://blog.youkuaiyun.com/xiaotong0202/article/details/50981792</link><guid>https://blog.youkuaiyun.com/xiaotong0202/article/details/50981792</guid><author>xiaotong0202</author><pubDate>Fri, 25 Mar 2016 16:33:16 +0800</pubDate><description><![CDATA[看来得重新温习一下c语言的基础知识了
Getmemory的几个经典的关于内存的笔试题还是经常能考到的

void GetMemory1(char *p)
{
    p = (char *)malloc(100);
}
void Test1(void) 
{
    char *str = NULL;
    GetMemory1(str); 
    strcpy(str,]]></description><category></category></item><item><title><![CDATA[C语言的代码内存布局详解]]></title><link>https://blog.youkuaiyun.com/xiaotong0202/article/details/50853216</link><guid>https://blog.youkuaiyun.com/xiaotong0202/article/details/50853216</guid><author>xiaotong0202</author><pubDate>Fri, 11 Mar 2016 09:26:51 +0800</pubDate><description><![CDATA[一个程序本质上都是由 BSS 段、data段、text段三个组成的。这样的概念在当前的计算机程序设计中是很重要的一个基本概念，而且在嵌入式系统的设计中也非常重要，牵涉到嵌入式系统运行时的内存大小分配，存储单元占用空间大小的问题。

BSS段：在采用段式内存管理的架构中，BSS段（bss segment）通常是指用来存放程序中未初始化的全局变量的一块内存区域。BSS是英文Block Starte]]></description><category></category></item><item><title><![CDATA[C语言，指针与内存分配]]></title><link>https://blog.youkuaiyun.com/xiaotong0202/article/details/50853189</link><guid>https://blog.youkuaiyun.com/xiaotong0202/article/details/50853189</guid><author>xiaotong0202</author><pubDate>Fri, 11 Mar 2016 09:22:57 +0800</pubDate><description><![CDATA[指针变量与内存分配
1. char * str1;
//str1 只是一个指针，指针指向的空间还没有分配，所以此时用strcpy向str1所指向的内存
中拷贝内容将出错。利用malloc动态分配指向的内存（在堆中）:
str1=(char *)malloc(10) or str1=(char *)malloc(sizeof(char) *num)//分配num个char
所占有的字节（一]]></description><category></category></item></channel></rss>