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

嵌入式方面,主要集中在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

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

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

  1. 【导航】FPGA相关

    [博客索引] FPGA相关 数字电路实现上,较多的经验是基于Xilinx/Altera的FPGA,使用Verilog语言,实现光传输SDH.OTN通信协议,DDR3控制器应用,以及视频分割.合并.sc ...

  2. Python——电子邮件、Internet协议相关模块

    一.电子邮件相关模块 email:用于处理电子邮件 smtpd:SMTP服务器 base64:Base-16.32.64数据编码 mhlib:处理MH文件格式解析的类 mailcap:mailcap文 ...

  3. 【转】Python3 日期时间 相关模块(time(时间) / datatime(日期时间) / calendar(日历))

    Python3 日期时间 相关模块(time(时间) / datatime(日期时间) / calendar(日历)) 本文由 Luzhuo 编写,转发请保留该信息. 原文: http://blog. ...

  4. python 加密算法及其相关模块的学习(hashlib,random,string,math)

    加密算法介绍 一,HASH Hash,一般翻译做“散列”,也有直接音译为”哈希”的,就是把任意长度的输入(又叫做预映射,pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值.这种 ...

  5. nodeJS---URL相关模块用法(url和querystring)

    nodeJS---URL相关模块用法(url和querystring) 一: URL模块: URL模块用于解析和处理URL的字符串,提供了如下三个方法: 1. parse 2. format 3. r ...

  6. Python3 日期时间 相关模块(time(时间) / datatime(日期时间) / calendar(日历))

    Python3 日期时间 相关模块(time(时间) / datatime(日期时间) / calendar(日历)) 本文由 Luzhuo 编写,转发请保留该信息. 原文: http://blog. ...

  7. python 相关模块安装 国内镜像地址

    python 相关模块安装 国内镜像地址 pipy国内镜像目前有: http://pypi.douban.com/  豆瓣 http://pypi.hustunique.com/  华中理工大学 ht ...

  8. ansible软件相关模块丶计划任务,剧本

    软件相关模块 yum rpm 和yum 的区别 rpm:redhat package manager yum可以解决依赖关系 yum 源配置 [epel] name=Extra Packages fo ...

  9. ansible的安装及命令相关模块

    ansible 第一步:下载epel源 curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos- ...

随机推荐

  1. Eclipse的LogCat总是自动清空怎么办?

    我们经常会遇到这样一种情况,由于Log太多,导致我们的LogCat总是被自动清空,该怎么办?错误信息看不到,How to do? 其实,我们通过adb shell来解决这个问题. 1.配置环境变量 环 ...

  2. Java实现堆排序

    import java.util.Scanner; /*堆是一种数据结构,类似于一棵完整的二叉树. * 思想:堆的根节点值最大(最小),将无序序列调整成一个堆,就能找出这个序列的最大值(最小值),将找 ...

  3. asp.net分页控件库

    AspNetPager分页控件 AspNetPager分页控件解决了分页中的很多问题,直接采用该控件进行分页处理,会将繁琐的分页工作变得简单化,下面是我如何使用AspNetPager控件进行分页处理的 ...

  4. Java代码安全测试解决方案

    Java代码安全测试解决方案: http://gdtesting.com/product.php?id=106

  5. Bootstrap与tab组合,切换菜单实例

    <html><head><meta http-equiv="Content-Type" content="text/html; charse ...

  6. Orcle11g用户密码恢复

    1.当安装Orcle11g后,很久不用,忘记了用户名和密码.可以通过以下方法重置: 如上图及重置用户sys,system密码为123

  7. maven主仓库中找不到restlet的解决办法

    解决办法: 修改Pom.xml  增加 <repositories>         <repository>             <id>maven-rest ...

  8. 单台电脑上启动多个Modelsim图形环境窗口的简单办法(windows)

    1 单台电脑上启动多个Modelsim图形环境窗口的简单办法(windows) http://blog.21ic.com/user1/3128/archives/2010/73447.html   单 ...

  9. Ubuntu 14.04 LAMP搭建小记

    文章目录 LAMP WinQQ Ubuntu 的使用的建模工具 JDK Chormium flash Eclipse 无法找到Jre LAMP 参考资料: 1. 安装php环境   http://ww ...

  10. 【转】性能测试设计和LR原理的探讨

    做了4个迭代的性能测试, 在没有需求的情况下步步艰辛,把代码和框架独立开发从0到一万多行代码的测试工具(脚本),作为性能测试工具佼佼者Lr,我时而拿他作参考,山寨了它很多 东西,同时带有很多疑问对它实 ...