学会Zynq(11)RAW API的TCP和UDP编程
RAW API(有时称作native API)是一种事件驱动型的API,在没有操作系统的情况下使用。核心栈通过这个API完成不同协议间的交互。RAW API支持多种协议,下面介绍如何对TCP和UDP进行编程。在Xilinx平台中使用lwIP的RAW API,部分细节会有所不同,但大部分函数用法都一样。
RAW API(有时称作native API)是一种事件驱动型的API,在没有操作系统的情况下使用。核心栈通过这个API完成不同协议间的交互。RAW API支持多种协议,下面介绍如何对TCP和UDP进行编程。在Xilinx平台中使用lwIP的RAW API,部分细节会有所不同,但大部分函数用法都一样。
从本篇开始,将花大量篇幅介绍Zynq在裸机环境下以太网的使用。裸机时最方便的就是使用SDK已经集成了的lwIP 1.4.1库,我们将先了解lwIP的相关知识,然后再以实例的方式学习TCP、UDP的程序设计方法。
每个Cortex-A9处理器都有私有的32位定时器和32位看门狗定时器。这两种定时器都是32位的计数器,计数到0时产生中断;带有8位的预分频器,能够更好地控制中断周期;可配置为单次重载或自动重载模式;可配置初始值。它们的工作时钟固定为CPU频率的1/2(CPU_3x2x)
双核Zynq中共有20个PL到PS的中断。IRQF[15:0]是16个共享外设中断(SPI),可配选择上升沿触发或高电平触发,中断号为61-68和84-91。另外还有4个私有外设中断(PPI)IRQF2P[19:16],每个CPU都有一个来自PL的FIQ(快速中断)和IRQ,其中断敏感类型固定。
本文简单介绍Zynq的中断系统和中断控制器。Zynq的PS部分基于ARM架构,使用了两个Cortex-A9处理器(CPU)以及GIC pl390中断控制器(单核Zynq则只有一个GIC)。GIC是通用中断控制器(Generic Interrupt Controller)的简称。双核的中断系统框图如下
在图像处理、计算机视觉领域,Lena数字图像被大多数的键盘侠广泛使用,Lena可以说是一张司空见惯的标准图。国外某期刊的主编,曾经说明过以下原因:1.Lena图像混合了各种细节、纹理特征、平滑区域和阴影部分,能够很好的测试图像处理的各种算法;2.Lena是个迷人的美女,做图像处理的研究者或工程师,大部分都是男的,不奇怪他们被Lena美女所吸引。