<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ascend的专栏]]></title><description><![CDATA[纸上得来终觉浅，绝知此事要躬行]]></description><link>https://blog.youkuaiyun.com/avrmcu1</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; avrmcu1]]></copyright><item><title><![CDATA[python中数组（numpy.array）的基本操作【转载】]]></title><link>https://blog.youkuaiyun.com/avrmcu1/article/details/125240882</link><guid>https://blog.youkuaiyun.com/avrmcu1/article/details/125240882</guid><author>avrmcu1</author><pubDate>Sun, 12 Jun 2022 00:44:45 +0800</pubDate><description><![CDATA[为什么要用numpy    Python中提供了list容器，可以当作数组使用。但列表中的元素可以是任何对象，因此列表中保存的是对象的指针，这样一来，为了保存一个简单的列表[1,2,3]。就需要三个指针和三个整数对象。对于数值运算来说，这种结构显然不够高效。
    Python虽然也提供了array模块，但其只支持一维数组，不支持多维数组(在TensorFlow里面偏向于矩阵理解)，也没有各种运算函数。因而不适合数值运算。
    NumPy的出现弥补了这些不足。（——摘自张若愚的《Python科学计算》]]></description><category></category></item><item><title><![CDATA[Tcl在Vivado中的应用]]></title><link>https://blog.youkuaiyun.com/avrmcu1/article/details/43446529</link><guid>https://blog.youkuaiyun.com/avrmcu1/article/details/43446529</guid><author>avrmcu1</author><pubDate>Tue, 03 Feb 2015 10:34:38 +0800</pubDate><description><![CDATA[转自：http://forums.xilinx.com/t5/Vivado专区/Vivado使用误区与进阶-Tcl在Vivado中的应用/td-p/525003

Xilinx的新一代设计套件Vivado相比上一代产品ISE，在运行速度、算法优化和功能整合等很多方面都有了显著地改进。但是对初学者来说，新的约束语言XDC以及脚本语言Tcl的引入则成为了快速掌握Vivado使用技巧的最大障碍，以至]]></description><category></category></item><item><title><![CDATA[安装，卸载或重装Vmware Workstation时失败的官方解决方案]]></title><link>https://blog.youkuaiyun.com/avrmcu1/article/details/43305973</link><guid>https://blog.youkuaiyun.com/avrmcu1/article/details/43305973</guid><author>avrmcu1</author><pubDate>Fri, 30 Jan 2015 13:19:34 +0800</pubDate><description><![CDATA[转自http://blog.youkuaiyun.com/wdjhzw/article/details/24498521


最近VMware Workstation又放出更新，遂更新之。安装时提示先卸载旧版本。控制面板和其他软件管理器都不能正常卸载，提示“ The MSI '' failed”，索性直接删除文件夹，清理了一下注册表，重启。再次安装，仍提示卸载旧版本，到网上找各种解决方法，也用了各种所谓]]></description><category></category></item><item><title><![CDATA[强大的Vivado IP工具——自定义IP的使用(IP packager)]]></title><link>https://blog.youkuaiyun.com/avrmcu1/article/details/43085651</link><guid>https://blog.youkuaiyun.com/avrmcu1/article/details/43085651</guid><author>avrmcu1</author><pubDate>Sat, 24 Jan 2015 15:31:27 +0800</pubDate><description><![CDATA[转自http://blog.chinaaet.com/detail/37169

首先，要指出，本文不描述任何IP的功能与使用。




在开发一个大型FPGA项目时，多人协作是必不可少的。这个时候，如何提交设计给负责集成的人，是项目开发中最关键的问题之一。




常用的一个方法是，提交网表。网表的提交可以算是相当方便的操作了，这在ISE的时期还体会不到，但到了Vivad]]></description><category></category></item><item><title><![CDATA[Vivado IP核剖析]]></title><link>https://blog.youkuaiyun.com/avrmcu1/article/details/42586987</link><guid>https://blog.youkuaiyun.com/avrmcu1/article/details/42586987</guid><author>avrmcu1</author><pubDate>Sat, 10 Jan 2015 20:51:25 +0800</pubDate><description><![CDATA[转自http://blog.chinaaet.com/detail/37167

正像我之前所说的，较XPS的IP核而言，Vivado IP核在创建、打包、使用等各方面都更加简单便捷，同样的Vivado IP核抛弃了以往复杂的IP核文件组织模式，仅使用一个component.xml文件对IP核进行描述。
下面，我们就看一下这个component.xml如何替代*.mpd，*.pao等文件的。]]></description><category></category></item><item><title><![CDATA[【Vivado使用误区与进阶】XDC约束技巧——时钟篇]]></title><link>https://blog.youkuaiyun.com/avrmcu1/article/details/42557475</link><guid>https://blog.youkuaiyun.com/avrmcu1/article/details/42557475</guid><author>avrmcu1</author><pubDate>Fri, 09 Jan 2015 17:20:42 +0800</pubDate><description><![CDATA[转自http://www.globalicnet.com/bbs/question/detail_3102.html


Xilinx 的新一代设计套件Vivado中引入了全新的约束文件XDC，在很多规则和技巧上都跟上一代产品ISE中支持的UCF大不相同，给使用者带来许多额外挑战。Xilinx工具专家告诉你，其实用好XDC很容易，只需掌握几点核心技巧，并且时刻牢记：XDC的语法其实就是Tcl]]></description><category></category></item><item><title><![CDATA[各种排序方法对比（补充中）]]></title><link>https://blog.youkuaiyun.com/avrmcu1/article/details/39697641</link><guid>https://blog.youkuaiyun.com/avrmcu1/article/details/39697641</guid><author>avrmcu1</author><pubDate>Tue, 30 Sep 2014 16:38:21 +0800</pubDate><description><![CDATA[重点从时间复杂度、空间复杂度、适用情况等多个方面进行综合比较。
1.简单选择排序
（1）基本原理：对于给定的一组记录，经过第一轮比较后得到最小的值，然后将该记录与第一个记录的位置进行交换；
接着对不包括第一个记录以外的其他记录进行第二轮比较，得到最小记录并与第二个记录进行位置交换；重复该过程，
直到进行比较的记录只有一个为止。
（2）特点：交换移动的数据次数比较少。
（3）算法时间复杂]]></description><category></category></item><item><title><![CDATA[如何计算C++中结构体的存储空间]]></title><link>https://blog.youkuaiyun.com/avrmcu1/article/details/39474223</link><guid>https://blog.youkuaiyun.com/avrmcu1/article/details/39474223</guid><author>avrmcu1</author><pubDate>Mon, 22 Sep 2014 11:27:43 +0800</pubDate><description><![CDATA[#include "stdafx.h"
#include 

struct A
{
int a;
unsigned __int64 b;
short c;
}Test_a;


struct B
{
int a;short c;
unsigned __int64 b;

}Test_b;


struct C
{
short a;
short b;
s]]></description><category></category></item><item><title><![CDATA[X10示波器探头的重要性]]></title><link>https://blog.youkuaiyun.com/avrmcu1/article/details/39231663</link><guid>https://blog.youkuaiyun.com/avrmcu1/article/details/39231663</guid><author>avrmcu1</author><pubDate>Fri, 12 Sep 2014 16:20:34 +0800</pubDate><description><![CDATA[转自http://blog.sina.com.cn/s/blog_6792ec490101ab7i.html


X10示波器探头的重要性

 







   也许你经历过这种情况：你用触发器构建了一个简单的数字电路，比如行波计数器，它似乎工作OK。但一旦你用示波器去看其中一个Q输出，有趣的事情发生了。你看不到你期待看到的，计数器甚至停止了工作。发生什么了？

]]></description><category></category></item><item><title><![CDATA[移位实现除法（除数不是2的幂次方）]]></title><link>https://blog.youkuaiyun.com/avrmcu1/article/details/39098843</link><guid>https://blog.youkuaiyun.com/avrmcu1/article/details/39098843</guid><author>avrmcu1</author><pubDate>Sat, 06 Sep 2014 09:08:36 +0800</pubDate><description><![CDATA[#include 
#include 
int Division(int y,int x)
{
	int sum=0; 
	int i=0;
	while(y>x)//向左移位直到x>=y
	{
		x=x<<1;
		++i;//记录左移的次数
	}
	x=x>>1; //使x<=y
	 --i;
	while(i >= 0)
	{
		if(y >= x)
		{
			sum += 1<<i]]></description><category></category></item><item><title><![CDATA[用两个栈实现一个队列]]></title><link>https://blog.youkuaiyun.com/avrmcu1/article/details/39058437</link><guid>https://blog.youkuaiyun.com/avrmcu1/article/details/39058437</guid><author>avrmcu1</author><pubDate>Thu, 04 Sep 2014 20:22:14 +0800</pubDate><description><![CDATA[两年前从网上看到一道面试题：用两个栈（Stack）实现一个队列（Queue）。觉得不错，就经常拿来面试，几年下来，做此题的应该有几十人了。通过对面试者的表现和反应，有一些统计和感受，在此做个小结。
 
用C++描述，题目大致是这样的：
 
已知下面Stack类及其3个方法Push、Pop和 Count，请用2个Stack实现Queue类的入队(Enqueue)出队(Dequeue)方法。]]></description><category></category></item><item><title><![CDATA[IP地址、子网掩码、网络号、主机号、网络地址、主机地址]]></title><link>https://blog.youkuaiyun.com/avrmcu1/article/details/39033325</link><guid>https://blog.youkuaiyun.com/avrmcu1/article/details/39033325</guid><author>avrmcu1</author><pubDate>Wed, 03 Sep 2014 21:26:05 +0800</pubDate><description><![CDATA[IP地址：4段十进制，共32位二进制，如：192.168.1.1 二进制就是：11000000｜10101000｜00000001｜00000001

子网掩码可以看出有多少位是网络号，有多少位是主机号： 255.255.255.0 二进制是：11111111 11111111 11111111 00000000

网络号24位，即全是1 主机号8位，即全是0

129.168.1.1]]></description><category></category></item><item><title><![CDATA[顺时针打印矩阵与二维数组作为函数参数]]></title><link>https://blog.youkuaiyun.com/avrmcu1/article/details/39010743</link><guid>https://blog.youkuaiyun.com/avrmcu1/article/details/39010743</guid><author>avrmcu1</author><pubDate>Tue, 02 Sep 2014 20:00:33 +0800</pubDate><description><![CDATA[1.顺时针#include
void PrintMatrixInCircle(int (*data)[3],int rows,int columns,int start)
{
	int endx=columns-start-1;
	int endy=rows-start-1;
	//从左到右打印一行
	for(int i=start;i<=endx;++i)
	{
		int number=dat]]></description><category></category></item><item><title><![CDATA[指针作为函数参数传递时需要注意的问题]]></title><link>https://blog.youkuaiyun.com/avrmcu1/article/details/39001641</link><guid>https://blog.youkuaiyun.com/avrmcu1/article/details/39001641</guid><author>avrmcu1</author><pubDate>Tue, 02 Sep 2014 09:45:25 +0800</pubDate><description><![CDATA[#include
#include
#include
void GetMemory(char *p,int num)
{
	p=(char*)malloc(num);
}
int main()
{
	char *str=NULL;
	GetMemory(&str,100);
	strcpy(str,"hello");
	printf(str);
    return 0;

}]]></description><category></category></item><item><title><![CDATA[关于“using namespace std”]]></title><link>https://blog.youkuaiyun.com/avrmcu1/article/details/38979827</link><guid>https://blog.youkuaiyun.com/avrmcu1/article/details/38979827</guid><author>avrmcu1</author><pubDate>Mon, 01 Sep 2014 14:32:27 +0800</pubDate><description><![CDATA[对于一个存在着标准输入输出的C++控制台程序，一般会在#include 的下一行发现一句话，using namespace std。这句话其实就表示了所有的标准库函数都在标准命名空间std中进行了定义。其作用就在于避免发生重命名的问题。

　　1. 关于namespace

　　C++引入了命名空间namespace主要解决了多个程序员在编写同一个项目中可能出现的函数等重名的现象。解决方法]]></description><category></category></item><item><title><![CDATA[c/c++ int _tmain(int argc, _TCHAR* argv[])]]></title><link>https://blog.youkuaiyun.com/avrmcu1/article/details/38960835</link><guid>https://blog.youkuaiyun.com/avrmcu1/article/details/38960835</guid><author>avrmcu1</author><pubDate>Sun, 31 Aug 2014 16:08:21 +0800</pubDate><description><![CDATA[在visual c++ 2005/8 中,当选择编辑一个32位Win32控制台应用程序时.初始状态下系统自带函数:

　　int _tmain(int argc, _TCHAR* argv[])
　　{
　　return 0;
　　}



 


　　上述Win32控制台应用程序的入口程序是用来存放机器的一个环境变量的，如：机器名，系统信息等.
　　其中:
　　int]]></description><category></category></item><item><title><![CDATA[软件研发知识点总结（更新中）]]></title><link>https://blog.youkuaiyun.com/avrmcu1/article/details/38960799</link><guid>https://blog.youkuaiyun.com/avrmcu1/article/details/38960799</guid><author>avrmcu1</author><pubDate>Sun, 31 Aug 2014 16:06:28 +0800</pubDate><description><![CDATA[1.以太网中根据MAC地址区分不同的设备。
2.static的用途：
（1）在函数体内，一个被声明为静态的变量在函数被调用的过程中维持其值不变。
（2）在模块内（函数体外），一个被声明为静态的变量可以被模块内的函数访问，但不能被模块外其他的
函数访问，它是一个本地的全局变量。
（3）在模块内，一个被声明为静态的函数只能被这一模块内的其他函数调用。
3.引用和指针的区别：
（1）引用必]]></description><category></category></item><item><title><![CDATA[内排序算法小结]]></title><link>https://blog.youkuaiyun.com/avrmcu1/article/details/38960813</link><guid>https://blog.youkuaiyun.com/avrmcu1/article/details/38960813</guid><author>avrmcu1</author><pubDate>Sun, 31 Aug 2014 16:06:05 +0800</pubDate><description><![CDATA[从以下几个方面来比较排序算法：

1. 算法的时间和空间复杂度

2. 排序的稳定性

3. 算法结构的复杂度

4. 参加排序的数据规模




排序的稳定性：

稳定排序方法: 插入排序、冒泡排序、二路归并排序、基数排序是稳定排序算法；

不稳定排序方法: 选择排序、谢尔排序、快速排序、堆积排序是不稳定排序算法。




算法复杂度比较：


]]></description><category></category></item><item><title><![CDATA[简单选择排序]]></title><link>https://blog.youkuaiyun.com/avrmcu1/article/details/38960743</link><guid>https://blog.youkuaiyun.com/avrmcu1/article/details/38960743</guid><author>avrmcu1</author><pubDate>Sun, 31 Aug 2014 16:04:37 +0800</pubDate><description><![CDATA[（1）基本原理：对于给定的一组记录，经过第一轮比较后得到最小的值，然后将该记录与第一个记录的位置进行交换；
接着对不包括第一个记录以外的其他记录进行第二轮比较，得到最小记录并与第二个记录进行位置交换；重复该过程，
直到进行比较的记录只有一个为止。
（2）特点：交换移动的数据次数比较少。
（3）算法时间复杂度：O（n^2）。辅助空间O(1)。
（4）程序设计要点：嵌套循环，记录最小数和最小]]></description><category></category></item><item><title><![CDATA[快速排序]]></title><link>https://blog.youkuaiyun.com/avrmcu1/article/details/38960711</link><guid>https://blog.youkuaiyun.com/avrmcu1/article/details/38960711</guid><author>avrmcu1</author><pubDate>Sun, 31 Aug 2014 15:54:28 +0800</pubDate><description><![CDATA[（1）基本原理：先在数组中选择一个数字，接下来把数组中的数字分为两部分，比选择的数字小的数字移动到数组的左边，
比选择的数字大的数字移到数组的右边。然后用递归的思路分别对每次选中的数字左右两边进行排序。
      当初始序列整体或者局部有序时，快速排序的性能会下降，此时快速排序将退化为冒泡排序。
（2）算法最好时间复杂度O（nlogn）（每次区间划分，基准关键字为待排序的记录中间值）
 ]]></description><category></category></item></channel></rss>