一些嵌入式和FPGA相关模块的开源

工作一年,整理下手头做过的东西,分享出来,希望能帮到大家。

嵌入式方面,主要集中在Xilinx家的器件上,ZYNQ居多。Linux相关的就不贴了,网上的资料太多,xilinx-wiki上资料都是比较全的。bare-metal裸机版本在功耗上有一定优势,在较低时钟速率运行时,整板功耗控制在2W以内完全没有问题。

这里贴的都是网上没有现成的,我自己写的或者修改过的东西。

1.AXI总线Master Controller:Zynq的PL侧访问PS侧DDR3,协议为AXI3.0。

https://github.com/Shawn-ye/zynqRelated/blob/master/axi3_ddr_intf.v

2.AXI Controller for MIG:PL侧控制MIG的控制器,接口为AXI4.0。

3.Cypress CYUSB3014 Controller:Slave-fifo 32bit模式,对外是FIFO接口

6.线性代数矩阵库、信号处理库:基础乘加运算、A+逆矩阵、特征值分解(多种算法
现)等,平台是TI的TMS320C6713,这个平台比较旧了(外扩存储器还停留在SDRAM),里面使用了TI提供的DSP基础库(DSPLIB和
MATHLIB),如果进行平台移植,需要替换。信号处理库里主要是非2幂次长度的DFT快速算法。参考的书籍主要是:Digital Signal
Processing , Numerical Recipes in
C两本,还有一本清华出版的书,想不起来名字了。这个东西如果移植到Zynq上去做,效率会提高不少,最耗时间的基础运算直接写成IP用FPGA算,代价
仅仅是两次显式内存拷贝的时间;同时仍然拥有C代码的开发便利性,毕竟从头到位用Verilog去写这玩意太痛苦了。

7.Zynq动态重构FPGA 
:Zynq在启动以后,ARM侧可以从TF卡里读取一个bitstream文件并加载到FPGA里面覆盖运行。这个在网上是没有资料的,原理藏在晦涩难懂
的UG585里面。有了这个东西,可以很容易的实现网络加载FPGA或者远程更新之类的。这里面附带了TF卡读写的操作。

https://github.com/Shawn-ye/zynqRelated/blob/master/pl_reconfigure.c

9.UDP
Controller:PHY是88e1111,MII接口;对外是FIFO接口,写入发送的数据,会依次生成UDP头,IP头,MAC头,以太网
头,CRC这些;当然IP和MAC地址得自己设定好。RGMII接口的和这个差不多,自己改改就OK,不同的板子约束不一样的。

Python

1.多线程商品排名爬虫,美国Amazon站,能够根据ASIN号爬取该商品在某个关键词下的排名。Amazon反爬虫的机制非常严,这里做了一定的优化。两个版本,分别用的mechanize和selenium。前者浏览器内核在库里,资源消耗小,缺点是不能处理页面的JavaScript内容,同一个IP爬久了肯定被ban掉,所以代码里加入了不定时切IP的功能。后者是原生的chrome控制器,可以最大限度的模拟人的行为,这个经过实验,基本不会ban掉。

2.微信公众号后台服务器:TOKEN验证、消息内容提取、自动回复、拒绝服务黑名单这些功能都是有的。高并发的肯定得换架构,这方面我完全是新手,还在学习中

//updated 20 oct 2015

最近比较忙,先整理了两个。

时间: 2024-10-18 00:34:28

一些嵌入式和FPGA相关模块的开源的相关文章

2、NS3-目录结构和相关模块

Waf是基于Python开发的编译工具,ns-3系统本身和将要写的仿真代码都由waf负责编译运行. Scratch目录一般存放用户脚本文件,也可以把要运行的例子拷贝到该目录下. Example是ns-3提供的关于如何使用ns-3的例子,包含许多模块的使用. Doc目录是帮助文档,可以使用./waf --doxygen编译本地Doxygen文档. Build目录是ns-3编译目录,包含编译文件时使用的共享库和头文件(build/ns3). Src是ns-3源码目录. 模块里面的wscript文件结

ansible 软件相关模块,剧本

软件相关模块 yum rpm和yum的区别 rpm:redhat package manager yum 可以解决依赖关系 yum 源配置 使用yum下载时需要先下载epel [epel] name=Extra Packages for Enterprise Linux 7 - $basearch #名字 baseurl=http://mirrors.aliyun.com/epel/7/$basearch #rpm源的地址,可以写http,https,ftp,Samba,file: failov

Python常用模块——第三方开源模块的安装使用

Python常用模块--第三方开源模块的安装使用 https://pypi.python.org/pypi是python的开源模块库,截止2019年4.30日 ,已经收录了175870个来自全世界python开发者贡献的模块,几乎涵盖了你想用python做的任何事情. 事实上每个python开发者,只要注册一个账号就可以往这个平台上传你自己的模块,这样全世界的开发者都可以容易的下载并使用你的模块. 如何从这个平台上下载模块呢? 1.直接在页面上点download,下载后,解压并进入目录,执行以下

FPGA相关术语(一)

参考资料: 1. 数字时钟管理单元DCM 知识点: ● Xilinx Digital Clock Manager(DCM) primitive用于实现延迟锁相环(delay locked loop).数字频率综合器(digital frequency synthesizer).数字移相器(digital phase shifter)或数字扩频(digital spread spectrum).DCM模块是对DCM primitive的包装器. ● Wiki Digital Clock Manag

saltstack模块之pkg相关模块

1.pkg.available_version模块 pkg.available_version: 返回所查询软件包可供安装或更新的最新版本.如果指定多个软件包,则以字典的形式输出返回结果. [[email protected] ~]# salt '*' pkg.available_version httpd salt-minion02.contoso.com:     2.2.15-59.el6.centos salt-minion01.contoso.com:     2.2.15-59.el

【分享】Asp.net Core相关教程及开源项目

入门 全新的ASP.NET:  https://www.cnblogs.com/Leo_wl/p/5654828.html 在IIS上部署你的ASP.NET Core项目: https://www.cnblogs.com/wangjieguang/p/core-iis.html 举个例子来聊聊它的依赖注入: http://www.bkjia.com/Asp_Netjc/1309630.html, http://www.cnblogs.com/jesse2013/p/di-in-aspnetcor

ansible 软件相关模块

一 yum 模块 1.yum配置源(/etc/yum.repos.d/epel.repo) 1 [epel] 2 name=Extra Packages for Enterprise Linux 7 - $basearch #名字 3 baseurl=http://mirrors.aliyun.com/epel/7/$basearch #rpm源的地址,可以写http,https,ftp,Samba,file: 4 failovermethod=priority 5 enabled=1 # 是否

Asp.net Core相关教程及开源项目推荐

入门 全新的ASP.NET:  https://www.cnblogs.com/Leo_wl/p/5654828.html 在IIS上部署你的ASP.NET Core项目: https://www.cnblogs.com/wangjieguang/p/core-iis.html 举个例子来聊聊它的依赖注入: http://www.bkjia.com/Asp_Netjc/1309630.html, http://www.cnblogs.com/jesse2013/p/di-in-aspnetcor

saltstack模块之service及crond相关模块

1.service.available模块 service.available:如果服务可用则返回True,否则返回False. [[email protected] ~]# salt '*' service.available sshd salt-minion02.contoso.com:     True salt-minion01.contoso.com:     True [[email protected] ~]# salt '*' service.available httpd sa