電子發(fā)燒友網(wǎng)核心提示:本文為玩轉(zhuǎn)賽靈思Zedboard開發(fā)板(3):基于Zynq PL的流水燈,內(nèi)容精彩,敬請對電子發(fā)燒友網(wǎng)保持密切關(guān)注。基于Zynq PL的流水燈是使用PL做流水燈實驗,目的是為
2012-12-05 14:25:4112770 一、AXI DMA介紹 本篇博文講述AXI DMA的一些使用總結(jié),硬件IP子系統(tǒng)搭建與SDK C代碼封裝參考米聯(lián)客ZYNQ教程。若想讓ZYNQ的PS與PL兩部分高速數(shù)據(jù)傳輸,需要利用PS的HP
2020-12-31 09:52:027166 不同類型的DMAHigh performance w/DMA幾種DMA的總結(jié)ZYNQ中不同應(yīng)用的DMA幾個常用的 AXI 接口 IP 的功能(上面已經(jīng)提到):AXI-DMA:實現(xiàn)從 PS 內(nèi)存
2022-03-31 11:39:10
七天玩轉(zhuǎn)Altera:學(xué)習FPGA必經(jīng)之路包括基礎(chǔ)篇、時序篇和驗證篇三個部分。http://www.qldv.cn/soft/5/2012/20120815284605.html
2014-11-05 14:07:06
。如圖所示,在Zstar板子左側(cè)靠下的位置有一排的LED指示燈,從左往右數(shù)第4個、第5個和第6個LED指示燈分別是D3、D2和D1。 2 板級調(diào)試參考文檔《玩轉(zhuǎn)Zynq-環(huán)境篇
2019-08-28 09:26:47
LED,而是IP核的應(yīng)用,當然,僅以PLL IP核為例。2 模塊化設(shè)計參考文檔《玩轉(zhuǎn)Zynq-基礎(chǔ)篇:基于FPGA的模塊化設(shè)計.pdf》。3 PLL IP核添加配置 3.1Vivado標準IP核概述我們
2019-09-06 08:13:18
,添加到Vivado的IP Catalog中,然后和標準IP核一樣,在Vivado工程中配置添加這個IP核。2 用戶自定義IP核的創(chuàng)建于封裝參考文檔《玩轉(zhuǎn)Zynq-工具篇:用戶自定義IP核的創(chuàng)建與封裝
2019-09-20 11:35:29
工程新建文件夾zstar_ex50,注意它的整個存放路徑中不要有中文、符號或空格(只能是數(shù)字和字母)。打開Vivado,參考《玩轉(zhuǎn)Zynq-工具篇:新建Vivado工程.pdf》新建一個Vivado工程
2019-09-30 12:57:32
://pan.baidu.com/s/1XTQtP5LZAedkCwQtllAEyw提取碼:ld9c 1 Zynq的GPIO概述參考文檔《玩轉(zhuǎn)Zynq-基礎(chǔ)篇:Zynq PS的GPIO外設(shè).pdf》。 2
2019-10-10 11:21:06
://pan.baidu.com/s/1XTQtP5LZAedkCwQtllAEyw提取碼:ld9c 1 Zynq的GPIO概述參考文檔《玩轉(zhuǎn)Zynq-基礎(chǔ)篇:Zynq PS的GPIO外設(shè).pdf》。關(guān)于
2019-10-12 17:35:16
介紹參考文檔《玩轉(zhuǎn)Zynq-基礎(chǔ)篇:AXI總線協(xié)議介紹.pdf》。3 AXI GP外設(shè)配置在zstar_ex53實例的基礎(chǔ)上,需要對ZYNQ7Processing System(PS)配置頁面做更改
2019-11-12 10:23:42
PL代碼中VIO的配置和例化PL工程中,需要將作為開關(guān)量控制或狀態(tài)顯示的信號連接到VIO IP核的接口中。具體可以參考文檔《玩轉(zhuǎn)Zynq-工具篇:基于Vivado的Virtual IO在線板級調(diào)試
2019-11-21 10:04:31
的邏輯設(shè)計。2 AXI總線協(xié)議介紹參考文檔《玩轉(zhuǎn)Zynq-基礎(chǔ)篇:AXI總線協(xié)議介紹.pdf》。3Zynq PS的AXI HP配置在ZYNQ7 ProcessingSystem中,點擊左側(cè)Page
2019-11-26 09:47:20
不同通道使用情況下的數(shù)據(jù)吞吐量。大家可以在此基礎(chǔ)上,更改不同的AXI HP總線時鐘頻率,以評估時鐘頻率對AXI HP總線的影響。2 AXI總線協(xié)議介紹參考文檔《玩轉(zhuǎn)Zynq-基礎(chǔ)篇:AXI總線協(xié)議介紹
2019-11-28 10:11:38
`玩轉(zhuǎn)Zynq連載29——[ex51] 制作裸跑程序的啟動文件BOOT.bin 更多資料共享騰訊微云鏈接:https://share.weiyun.com/5s6bA0s百度網(wǎng)盤鏈接:https
2019-09-30 14:11:59
玩轉(zhuǎn)STM32_初級篇
2013-10-15 00:14:02
玩轉(zhuǎn)STM32—初級篇、中級篇、高級篇、系統(tǒng)篇
2016-04-03 09:12:53
為什么我使用的第七實驗上位機與飛控板連不上,急求幫助
2019-04-28 09:56:37
第七期了,慢慢開始了解labview的用法了,希望更加深入了解并靈活運用,互勉互勵!!!!
2018-09-11 20:05:24
目錄第一篇PCB布線 第二篇PCB布局 第三篇高速PCB 設(shè)計 第四篇電磁兼容性和 PCB設(shè)計約束 第五篇高密度(HD)電路的設(shè)計 第六篇抗干擾部分 第七篇印制電路板的可靠性設(shè)計-去耦電容配置第八篇
2011-04-29 17:50:10
如果點亮第七個led是不是只用改board_ddr200t.h里邊的和main。c里邊的,還要在哪個.h文件修改嗎?我的main函數(shù)是對的,就是第七個led不亮不知道哪里出了問題
2023-08-12 06:01:21
《測控電路》習題完整參考答案(第七章)
2017-05-07 11:38:20
《通向FPGA之路---七天玩轉(zhuǎn)Altera》--又一牛人力作,媲美包括基礎(chǔ)篇+時序篇+驗證篇。基礎(chǔ)篇是講Quartus的,精彩內(nèi)容:http://www.qldv.cn/soft/5
2014-12-11 11:41:43
` 本帖最后由 eehome 于 2013-1-5 09:59 編輯
《零死角玩轉(zhuǎn)STM32》初級/中級/高級/系統(tǒng)篇-480多頁E幣不夠的朋友給我發(fā)消息,我打包發(fā)給你【如何學(xué)習STM32-原創(chuàng)
2012-11-20 09:51:38
本帖最后由 iysheng 于 2016-9-26 19:59 編輯
本文主要記錄如下在ubuntu下,使用eclipse完成對BBB的交叉編譯和遠程支持。最開始,安裝eclipse:Apt-get install eclipse安裝C/C++支持部件。安裝TM部件。記下來安裝交叉編譯工具鏈:一切前期準備就完成了,接下來是配置環(huán)境了。打開eclipse,新建工程。選擇:c/c++可執(zhí)行類的工程:配置編譯工具鏈和頭文件、庫文件。修改鏈接參數(shù),為靜態(tài)鏈接,否則會出錯。配置遠程支持:看下效果,可以在eclipse中,進入BBB的終端:接下來就是編程了:先看下靜態(tài)和動態(tài)鏈接的區(qū)別吧:靜態(tài)鏈接可以正常運行,動態(tài)鏈接提示No such file or directory。我的程序是根據(jù)傳入?yún)?shù)的不同完成控制usr3燈(最靠近網(wǎng)口的燈)的亮滅:效果如下:
2016-09-25 13:23:45
本帖最后由 birdinskyd***sy 于 2016-3-27 19:22 編輯
MO7號就這樣一步步在路上艱難地前行著,我們不知道還要走幾個兩萬五千里,只知道前行可能有希望,停下就是絕望。繼續(xù)MO7號的成長之路,MO7號的運動系統(tǒng)有四個傳感器,底部有兩個紅外循跡傳感器,左右兩邊有兩個紅外避障傳感器,其實都是成對兒的紅外收發(fā)二極管,發(fā)出的紅外光遇到障礙物會反射回來被接收,引發(fā)電平變化,四個傳感器引出四根線,傳遞電平變化,有四個電位器可以調(diào)節(jié)遇障礙物時,觸發(fā)電平變化的距離遠近。我們利用其中兩個壁障用的傳感器給MO7號做個條件反射,在即將遇到障礙物時,也就是將要撞墻時,立即停車。童鞋們可以觀察下,一般小孩子剛學(xué)會走路時對撞墻是沒撒概念的,直接往上撞,撞的次數(shù)多了,力度大了,疼了,會哭,以后快到墻跟前就會放慢速度不了,再后來跑得快了剎不住了還會用手擋一下緩沖。 在C51XXX型號的單片機里有兩個外中斷,兩個定時器中斷,一個串口中斷,C52XXXX里多了一個定時器中斷,目前我們用了兩個定時器中斷一個外中斷了,這回需要借助第三個定時器中斷,T2。中斷這東看你怎么理解了,其實我們每天都生活在中斷中,在馬路上走著的時候,突然手機響了,要拿出手機接電話,正通話時,對面突然直奔你跑來一個小baby,你得躲開它,不然被你撞倒你就慘了,躲開后你接著接電話,說完了掛機,繼續(xù)走路。有可能你一直在走路,邊走邊接電話,躲開小baby,那是因為人的中樞神經(jīng)系統(tǒng)并發(fā)處理能力很強大,兩條腿兒往前搗騰這樣簡單的動作直接交給脊髓里幾個神經(jīng)元就解決了,腦子在隨時處理突發(fā)的意外情況,就像不停地處理多級嵌套中斷、并發(fā)中斷,我們應(yīng)該感謝造物主給了我們這么強大的神經(jīng)系統(tǒng),阿彌陀佛。跑題了又, 我們利用下T2,上代碼,先用蜂鳴器測試下,t2是否健在,主程序里使能t2,測試,沒問題,一秒響一下,好,接下來再修改下,人的潛意識里,一直都繃著一根弦兒,就是趨利避害,處理好了,就是利人利己雙贏效果,處理不好就是損人利己,被罵,要是毫不利己專門利人,那就是活雷鋒了。。。。我們也給MO7號繃上一根弦兒,用T2每隔一小會兒檢查下,是否要撞墻,最理想的方法是直接連兩個外中斷,由電平變化觸發(fā),可惜我們的單片機外中斷就兩個,還被占用了,就用T2加查詢法吧。每隔一小會兒,看看左右避障傳感器是否有遇到障礙的低電平信號,有了就立刻停車,然后再倒一下。改下t2中斷代碼,我們換一種方式,讓t2數(shù)1000下檢查一次是否遇到障礙物,遇到的話就退一下再走,基本上成功,就是有個bug,t2溢出那一刻,車速會變成全速運行,但不是回回如此,這個不曉得怎么回事。
2016-03-27 19:22:57
本帖最后由 iysheng 于 2016-6-16 10:28 編輯
隔了這么多天,前幾天忙老師的項目,把藍宙小車冷落了些,,,,今天趕緊補上。仔細看了看給的硬件,循跡的試用還沒呢,所以今天就趕緊補上來。首先,用到的紅外循跡模塊的圖片如下(我已經(jīng)早早的固定到底板上了):然后,就是接線,在傳感器的擴展板上有明確的地方用于紅外循跡,如下所示:最后,就是我這次演示用到的一個輔助工具,但是我是順手拈來的(因為就在桌子的旁邊、、、)。因為上面剛好有黑色的塑料,我就直接拿來用了。主要的演示視頻(通過演示得知紅外循跡模塊還是挺靈敏的),我已經(jīng)上傳到網(wǎng)上了,還是挺靈敏的,由于場地的限制,我就不演示沿著黑色的軌跡進行行駛的過程了,希望多多包涵。
2016-06-16 10:28:33
本帖最后由 ICHLIEBEDICH13 于 2015-9-17 16:35 編輯
【OK210試用體驗】【第七篇】嵌入式Linux開發(fā)學(xué)習筆記【第4課Linux文件操作函數(shù)】 LINUX下文
2015-09-17 16:35:30
本帖最后由 L490351555 于 2015-10-14 18:11 編輯
配置MySQL數(shù)據(jù)庫插件驅(qū)動主要分為兩步:第一步:按照我上一篇“【OK210試用體驗】之第六篇:配置ARM平臺
2015-10-14 18:10:04
因為我要通過4路DA輸出,控制兩路電機,而Rico Board上又沒有直接輸出DA的部分,所以我考慮為了節(jié)省資金,準備通過4路PWM輸出來實現(xiàn)4路DA的輸出功能。第一步:先把4路DA正常輸出吧,用的hrt高精度時鐘,主要為了實現(xiàn)比較平滑的輸出,pwm的頻率越高,低通濾波后的輸出越平滑,這也是我所希望的。硬件上,用了4個GPIO實現(xiàn)4路輸出,如下所示:實現(xiàn)的效果如下:我同時測試了兩路輸出,因為示波器只有兩個通道啊。測了三組:測試的硬件連接圖:示波器的顯示如下所示:今天焊上了濾波電路,也測了三組,終端顯示如下:分別表示1650mv,330mv,3267mv。濾波后的輸出波形,示波器測試如下:但是把信號加入到電機驅(qū)動時,發(fā)現(xiàn)電壓被拉低或是被太高,準備明天再加一級跟隨試一試。下圖是我的濾波電路和測試現(xiàn)場圖:驅(qū)動代碼如下:[code]/***************************@file mada.c*@date 2016.11.12*author iysheng**************************/#include #include #include #include #include #include #include #include #include #include MODULE_LICENSE("GPL");MODULE_AUTHOR("iysheng");MODULE_VERSION("0.1");#define MADA_NUM 4#define MADA_NAME "MADA"#define NAME_SIZE 10#define MADA_TIME_SCALE 1000#define VALUE_SIZE 8#define MADA_MAJOR 0static dev_t mada_devnum;static int mada_major = MADA_MAJOR;#defineP_VOLTAGE33#define MADA_VOLTAGE(devp) (P_VOLTAGE*(devp->mada_high)/10)int mada_gpio[MADA_NUM] = {164, 165, 166, 167};struct mada_dev{struct cdev cdev;struct device *device;int mada_gpio;unsigned int mada_high;unsigned int mada_voltage;dev_t devnum;char mada_name[NAME_SIZE];struct hrtimer mada_hrt;bool mada_gpio_value;bool mada_hrt_state;} *mada_devp;struct class *mada_class;/*int MADA_VOLTAGE(struct mada_dev * devp){int voltage;voltage = P_VOLTAGE * devp->mada_high;return voltage;}*/enum hrtimer_restart mada_hrt_callback(struct hrtimer *hrt){struct mada_dev *devp;devp = container_of(hrt, struct mada_dev, mada_hrt);devp->mada_gpio_value = !devp->mada_gpio_value;gpio_set_value(devp->mada_gpio, devp->mada_gpio_value);if(devp->mada_gpio_value == true)hrtimer_forward_now(hrt, ns_to_ktime(devp->mada_high * MADA_TIME_SCALE));elsehrtimer_forward_now(hrt, ns_to_ktime((1000 - devp->mada_high) * MADA_TIME_SCALE));return HRTIMER_RESTART;}int mada_open (struct inode *inode, struct file *filp){struct mada_dev *devp = container_of(inode->i_cdev, struct mada_dev, cdev);filp->private_data = devp;if(devp->mada_hrt_state == false){hrtimer_init(&devp->mada_hrt, CLOCK_MONOTONIC, HRTIMER_MODE_REL);devp->mada_hrt.function = mada_hrt_callback;hrtimer_start(&devp->mada_hrt,ns_to_ktime(devp->mada_high),HRTIMER_MODE_REL);devp->mada_hrt_state = true;}printk(KERN_INFO "mada_open func.\n");return 0;}int mada_release (struct inode *inode, struct file *filp){printk(KERN_INFO "mada_release func.\n");return 0;}ssize_t mada_write (struct file *filp, const char __user *buf, size_t count, loff_t *ppos){int ret;char value[VALUE_SIZE];struct mada_dev *devp = filp->private_data;ret = copy_from_user(value, buf, sizeof(buf));if(0 != ret){printk(KERN_INFO "error in writing and errnum is %d.\n", ret);return 0;}elsedevp->mada_high = (unsigned int)simple_strtoul(value, NULL, 10);return sizeof(buf);}ssize_t mada_read (struct file *filp, char __user *buf, size_t count, loff_t *ppos){int ret;struct mada_dev *devp = filp->private_data;char value[VALUE_SIZE];devp->mada_voltage = MADA_VOLTAGE(devp);sprintf(value, "%d", devp->mada_voltage);ret = copy_to_user(buf,value,sizeof(value));if(0 != ret){printk(KERN_INFO "error in reading and errnum is %d.\n", ret);}elseprintk(KERN_INFO "%s mada_voltage is %s.\n",devp->mada_name,value);return ret;}struct file_operations mada_fops = {.open = mada_open,.release = mada_release,.read = mada_read,.write = mada_write,};int mada_setup(struct mada_dev *devp, int min, int gpio_num){int ret = 0;printk(KERN_INFO "mada_setup function.\n");if(!gpio_is_valid(gpio_num)){printk(KERN_INFO "invalid gpio_num:%d.\n", gpio_num);return -1;}else{gpio_request(gpio_num,"sysfs");gpio_direction_output(gpio_num,false);gpio_export(gpio_num,false);}devp->mada_gpio = gpio_num;devp->mada_high = 500;//devp->mada_voltage = MADA_VOLTAGE(devp);devp->mada_hrt_state = false;devp->mada_gpio_value = false;devp->devnum = MKDEV(mada_major, min);sprintf(devp->mada_name, "mada%d", min);cdev_init(&devp->cdev,&mada_fops);ret = cdev_add(&devp->cdev,MKDEV(mada_major, min),1);if(ret){printk(KERN_INFO "add mada%d fail. error is %d", min, ret);memset(devp, 0, sizeof(struct mada_dev));gpio_free(gpio_num);gpio_unexport(gpio_num);return ret;}elsedevp->device = device_create(mada_class,NULL,MKDEV(mada_major, min),NULL,devp->mada_name);return 0;}void mada_del(struct mada_dev *devp){hrtimer_cancel(&devp->mada_hrt);gpio_unexport(devp->mada_gpio);gpio_free(devp->mada_gpio);device_destroy(mada_class,devp->devnum);unregister_chrdev_region(devp->devnum, 1);memset(devp, 0, sizeof(struct mada_dev));kfree(devp);}int __init mada_init(void){int ret = 0, i;printk(KERN_INFO "mada_init begin.\n");mada_devp = kzalloc(MADA_NUM * sizeof(struct mada_dev), GFP_KERNEL);if(IS_ERR(mada_devp)){ret = PTR_ERR(mada_devp);printk(KERN_INFO "vmalloc_fail and err is %d.\n", ret);goto fail;}if(mada_major == 0){ret = alloc_chrdev_region(&mada_devnum,0,MADA_NUM,MADA_NAME);mada_major = MAJOR(mada_devnum);}else{mada_devnum = MKDEV(mada_major, 0);ret = register_chrdev_region(mada_devnum,MADA_NUM,MADA_NAME);}if(ret < 0){printk(KERN_INFO "register_fail and err is %d.\n", ret);goto fail;}mada_class = class_create(THIS_MODULE, MADA_NAME);for(i=0; i
2016-11-15 18:46:15
分享一個第七實驗室姿態(tài)模塊的源碼及說明書。感覺他們的代碼寫的很好,大家有做飛行器可以參考下,學(xué)習一下他們的寫法。
2015-09-26 16:02:41
stemwin,但是苦于時間有限,目前沒有成功,以后有時間爭取補上吧.在移植到ucosiii之前,基于裸機下的演示在帖子第七篇?裸機下的測控儀開發(fā)搞一段落,但路還很長好像那個視頻播放有些問題.這次我就再
2017-06-11 18:39:12
大家好,我是痞子衡,是正經(jīng)搞技術(shù)的痞子。今天痞子衡給大家介紹的是恩智浦i.MX RT1xxx系列MCU的Raw NAND啟動。 前面鋪墊了七篇啟動系列文章,終于該講具體Boot Device了
2022-02-22 07:20:51
如何玩轉(zhuǎn)STM32-F429系列
2021-10-13 06:45:39
如何玩轉(zhuǎn)STM32-F429系列控制器?
2021-11-12 06:06:38
/Adam-Taylor-s-MicroZed-Chronicles-Part-180-All-about-the-Xilinx/ba-p/756988但該芯片自帶板,Zynq 7020屬于Zynq家族。是否可以在電路板上使用它?如果沒有,支持reVision的官方(Xilinx / AVNet / ...)主板的最低成本是多少?籌碼怎么樣?
2019-10-10 06:25:58
如何零死角玩轉(zhuǎn)STM32-F429系列
2021-10-13 08:47:02
如何零死角玩轉(zhuǎn)STM32-F429系列?
2021-10-12 07:43:14
我昨天才發(fā)現(xiàn)我的兩塊microZED板都有相同的MAC地址(第一次將它們同時插入網(wǎng)絡(luò))。通過u-boot代碼,我看到MAC地址被烘焙到環(huán)境中(在zync_common.h中)。#define
2019-09-16 14:57:55
電工學(xué)第七版下冊課后答案
2022-01-27 13:49:51
提供了自動計算功能,在電路活動時,可以測量高功率開關(guān)上的可重復(fù)開關(guān)損耗和傳導(dǎo)損耗。 在一切就緒后,您可以轉(zhuǎn)向連載的第七篇,其將介紹效率和規(guī)范測試。 文章來源:日圖科技 微信:Ritu-17微博:日圖科技Ritu
2016-09-02 14:39:38
至芯科技之a(chǎn)ltera 系列FPGA教程 第七篇 新建verilog文件
2016-08-11 03:22:30
mesh系列 第二篇》)。
圖 1 – 藍牙m(xù)esh協(xié)議棧
藍牙m(xù)esh網(wǎng)絡(luò)采用低功耗藍牙作為其射頻通信協(xié)議棧。而具體如何使用,則是藍牙m(xù)esh網(wǎng)絡(luò)協(xié)議棧最底層的承載層需要負責的工作。
目前定義了兩個承載層
2019-07-25 08:36:13
通向FPGA之路---七天玩轉(zhuǎn)Altera之驗證篇V1.0
2012-08-15 13:08:27
本系列教程的宗旨是在力求全面介紹Altera及其QuartusII軟件原理的基礎(chǔ)上,對何如使用Altera FPGA進行基礎(chǔ)設(shè)計、時序分析、驗證、優(yōu)化四大方面進行講解通向FPGA之路---七天玩轉(zhuǎn)
2012-12-04 14:36:51
零死角玩轉(zhuǎn)STM32+初級篇+中級篇+系統(tǒng)篇
2019-01-16 16:29:06
想學(xué)習STM32的朋友必不可少的資料。共享給大家. 《零死角玩轉(zhuǎn) STM32》系列教程由初級篇、中級篇、高級篇、系統(tǒng)篇、 四個部分組成,根據(jù)野火 STM32開發(fā)板舊版教程升級而來,且經(jīng)過重新深入
2015-02-12 11:05:33
` 本帖最后由 Linux_ARM 于 2016-5-2 13:57 編輯
[hide]零死角玩轉(zhuǎn)stm32-初級篇 http://pan.baidu.com/share/link
2016-05-02 13:54:26
想學(xué)習STM32的朋友必不可少的資料。共享給大家. 《零死角玩轉(zhuǎn) STM32》系列教程由初級篇、中級篇、高級篇、系統(tǒng)篇、 四個部分組成,根據(jù)野火 STM32開發(fā)板舊版教程升級而來,且經(jīng)過重新深入
2015-02-12 11:06:24
KL 系列常見問題和解答匯總篇KL 系列 FAQ (十)KL 系列 FAQ (九)KL 系列 FAQ (八)KL 系列 FAQ (七)KL 系列 FAQ (六)KL 系列 FAQ (五)KL 系列 FAQ (四)KL 系列 FAQ (三)KL 系列 FAQ (二)KL 系列 FAQ (一)
2015-01-22 15:42:37
By Adam Taylor 到目前為止的文章中,我們已經(jīng)研究了MicroZed開發(fā)板上使用以太網(wǎng)的數(shù)據(jù)傳輸問題。我們還沒有涉及片上外設(shè)通信的問題:實時時鐘,非易失內(nèi)存以及獨特的傳感器。這些通信涉及到I2C或者SPI總線。
2017-01-13 11:07:11748 在Adam Taylor玩轉(zhuǎn)MicroZed系列的前期部分中,我們介紹了IP棧的概念。(見Adam Taylor玩轉(zhuǎn)MicroZed系列第79部分:Zynq SoC以太網(wǎng)第3部分)接下來就是在我們的設(shè)計中使用該協(xié)議棧了。SDK開發(fā)環(huán)境允許我們創(chuàng)建BSP的時候包含一個輕量級的IP棧(lwIP)。
2017-01-13 11:17:111033 By Adam Taylor 在本系列博客的前兩部分中,我們研究了帶有Zynq SoC PS(處理器系統(tǒng))的以太網(wǎng)MAC(介質(zhì)訪問控制層),包括深入探討了一個MAC使用范例。以太網(wǎng)MAC是一個基礎(chǔ)的構(gòu)建模塊,它允許我們實現(xiàn)一個IP棧,然后因此給我們的工程創(chuàng)建聯(lián)網(wǎng)條件。
2017-01-13 11:24:11669 By Adam Taylor 在約束系列的最后,我們講講關(guān)聯(lián)布局宏(RPM)的約束。RPM允許你在FPGA的布局中將DSP、FF、LUT和RAMS等資源組合在一起。與PBlocks不同,RPM并不
2017-11-10 14:49:02748 By Adam Taylor 在過去一周中,我接到了很多不同人的來信,他們正在使用以Zynq為基礎(chǔ)的開發(fā)工具。他們非常想知道怎么樣去把MicroZed系列博客教程應(yīng)用到他們所選擇的硬件平臺上。加上
2017-02-08 02:12:49426 研究了相關(guān)的時序約束后,在設(shè)計中我們也不能忽視所能運用到的物理約束。一個工程師最常用的物理約束是I/O管腳的放置和與每個I/O腳相關(guān)的參數(shù)定義(標準、驅(qū)動能力等)。然而,還有其它類型的物理約束: ?放置約束——定義元件位置 ?布線約束——定義信號布線 ?I/O腳約束——定義I/O腳位置和I/O腳參數(shù) ?配置約束——定義配置方法 按照慣例,有一些約束獨立于這些組之外。Vivado套件有三個約束,并且主要用于網(wǎng)表: ?DONT_TOUCH——用來防止
2017-02-08 02:20:11206 By Adam Taylor 在先前的博客中我們研究過I/O約束,下一個合乎邏輯的步驟就是研究如何在我們的設(shè)計中用FPGA進行放置和布線約束。使用放置約束的原因如下:為了幫助實現(xiàn)時序,或者
2017-02-08 02:22:11238 通過前面的學(xué)習,我們已經(jīng)對Zynq系列的PL和PS部分已經(jīng)有了相當多的了解。其中有關(guān)約束的部分我們曾經(jīng)提到過但是沒有重點關(guān)注。約束可以添加特定的信息到你的設(shè)計,并在綜合工具和實現(xiàn)工具中可以得到實現(xiàn)
2017-02-08 03:58:43645 上周的博客中我們完成了硬件的搭建,并且把硬件部分導(dǎo)入到SDK,見Adam Taylor’s MicroZed Chronicles Part 67: AXI DMA II,下一步通過寫一個簡單的程序
2017-02-08 05:53:11303 上周的博客中我們學(xué)習了Zynq SoC的AXI DMA,我解釋了怎樣利用AXI DMA控制器將數(shù)據(jù)從PL搬運到PS。在本期博客中我們將學(xué)習怎樣完成硬件的搭建。 首先我們要更深入的了解一下AXI
2017-02-08 08:10:39286 在我最新一期發(fā)表的博客中介紹了如何通過Zynq PS(處理器系統(tǒng))內(nèi)部的AXI總線接口尋址Zynq SoC的XADC模塊以及如何調(diào)試與分析你的應(yīng)用程序。但是我們?nèi)匀粵]有看到Zynq SoC的一個非常
2017-02-08 08:14:11153 在本系列上一篇博客中,我們學(xué)習了解了使用XMD和XSDB來調(diào)試我們的應(yīng)用和系統(tǒng)。然而為了確保我們的應(yīng)用在性能上是優(yōu)化的,另一個非常重要的方面就是對應(yīng)用程序進行詳細分析。 分析不同于調(diào)試,就分析功能
2017-02-08 09:53:00130 在此系列博客的前面幾期中,我們已經(jīng)可以運行示例應(yīng)用并獲得用于分析的程序運行數(shù)據(jù)。運行分析器可以生成一個gmon.out格式的文件,它包含了分析數(shù)據(jù)。當應(yīng)用程序運行自然結(jié)束或者通過SDK來終止應(yīng)用程序
2017-02-08 09:56:49180 在上一篇的MicroZed系列博客中,我們學(xué)習了兩種與XADC進行通信的方法:Zynq SoC 的AXI或者DevC接口。通過在每個驅(qū)動程序中輸出XADC的基地址,我演示了這兩種XADC通信方法
2017-02-08 09:58:42221 本周的博客內(nèi)容將繼續(xù)學(xué)習Zynq SoC的XADC,上周一名讀者提出了一個非常有意思的問題,我覺得有必要探究一下這個關(guān)于XADC的問題,也有必要中斷一下正在進行的關(guān)于PicoBlaze處理器的學(xué)習
2017-02-08 10:04:11242 前面的幾篇博客中,我們通過介紹怎樣驅(qū)動CCD的一些知識了解了PicoBlaze的一些特點,同時也知道了通過Zynq PS(處理器系統(tǒng))可是實現(xiàn)PicoBlaze的動態(tài)可重配置,我覺得在這次博客當中
2017-02-08 11:11:37134 作者:Adam Taylor 在上一篇博客中我們已經(jīng)知道了如何動態(tài)更新PicoBlaze的運行程序,現(xiàn)在我們要學(xué)習一個完成的設(shè)計應(yīng)用。一個非常相關(guān)的應(yīng)用就是驅(qū)動CCD(電荷耦合元件)圖像傳感器,因為
2017-02-08 12:31:33144 正如我上周所講,Petalinux是Xilinx針對Zynq SoC提供的Linux官方版本。為了攫取該版本最大資源,我們需要創(chuàng)建自己的版本。這就需要我們在Linux環(huán)境下進行開發(fā)。現(xiàn)在,并不是
2017-02-08 13:58:08164 如果在我們的虛擬機上已經(jīng)安裝好了SDK,我們就得使用Linux操作系統(tǒng)來建立我們自己的應(yīng)用程序。這通常需要對 Zynq SoC的硬件重新進行定義。 首先,我們要做的就是確保將VIVADO設(shè)計套件以及
2017-02-08 13:58:11300 我必須承認這是一篇我從來不希望要寫的博客。當我開始寫玩轉(zhuǎn)MicroZed時,我還不確定每周一篇寫到52篇。達到這樣的里程碑并擁有150,000的瀏覽量,我想回顧過去的一年在Zynq SoC上涵蓋
2017-02-08 15:35:37108 作者:Adam Taylor 在上一篇博客中我們了解了Zynq SoC的OCM(片上存儲器) ,利用它可以實現(xiàn)在AMP模式下內(nèi)部處理器內(nèi)核之間的通信。現(xiàn)在我們將寫一些程序代碼將這個設(shè)備(OCM)利用
2017-02-08 15:38:12606 作者:Adam Taylor 在最近的幾篇博客中,我們花了主要精力講解操作系統(tǒng)和AMP(非對稱多進程處理),接下來我們希望看到Linux系統(tǒng)在microzed板上運行。我們目前還沒有討論
2017-02-08 15:42:12529 作者:Adam Taylor 上篇博客中我們看到了在ZynqSoC的兩塊ARM Cortex-A9 MPCore處理器之間共享數(shù)據(jù)。我提到方法可以改進——使得更加高效——我們可以使用軟件中斷來進行
2017-02-08 15:47:34222 介紹完操作系統(tǒng)后我將會在Zynq SoC上演示,我打算首先在MicroZed上實現(xiàn)的操作系統(tǒng)就是Micrium公司的uC/OSiii。這是一個硬式實時操作系統(tǒng),可以點擊這里下載。 該OS已經(jīng)用于大量
2017-02-08 18:26:11149 最近的幾篇關(guān)于MicroZed系列的博客中我們介紹并了解了RTOS(實時操作系統(tǒng))的概念,既然已經(jīng)介紹了基本知識,是時候在MicroZed開發(fā)板上實現(xiàn)運行我們的第一個操作系統(tǒng)。我們將使
2017-02-08 18:27:06323 作者:Steve Leibson, 賽靈思戰(zhàn)略營銷與業(yè)務(wù)規(guī)劃總監(jiān) 在我前面的一篇博客(查看Adam Taylor玩轉(zhuǎn)MicroZed系列40:MicroZed操作系統(tǒng)第二部分)中,大家已經(jīng)見識
2017-02-08 18:27:11202 我本來打算在這篇博客中繼續(xù)介紹探討運行于Zynq SoC上的操作系統(tǒng)。然而由于上周有人提問過一些關(guān)于Zynq SoC外設(shè)XADC,中斷和alarms的問題,我認為我們應(yīng)該快速的了解一下以及我們怎樣
2017-02-08 18:30:02312 在這期博客前面的幾期,我們介紹了驅(qū)動Adafruit Neopixels設(shè)計實例的解決方案架構(gòu)。我們使用Vivado方塊圖設(shè)計這個解決方案(具體可以查看Adam Taylor玩轉(zhuǎn)MicroZed系列
2017-02-08 19:05:11281 作者:Steve Leibson, 賽靈思戰(zhàn)略營銷與業(yè)務(wù)規(guī)劃總監(jiān) By Adam Taylor 我們采用基于Zynq的MicroZed板來實現(xiàn)Adafruit NeoPixel驅(qū)動器,前后花了
2017-02-08 19:06:11152 到目前為止,我們已經(jīng)從Zynq/MicroZed系列博客中看到了很多設(shè)計的例子,但是這些設(shè)計都沒有使用到操作系統(tǒng)。裸板系統(tǒng)對于目前我們博客中涉及到的例子已經(jīng)足夠滿足設(shè)計要求了,但是如果我們想使用更加
2017-02-08 19:09:11111 最近我拿到了一塊MicroZed I/O 擴展板卡,這個擴展板補充完善了MicroZed系統(tǒng)化模塊(SOM)設(shè)計方法,通過分解位于MicroZed開發(fā)板背面的兩個小型的I/O引腳集管上的I/O引腳
2017-02-08 20:20:29359 作者是Adam Taylor,該文章發(fā)表在 第87期XCell期刊 上。Adam經(jīng)常給XCell期刊投稿,在XCell日報上,他的“MicroZed Chronicles”系列文章已經(jīng)發(fā)表了近30期,最近他成為了e2v科技的系統(tǒng)工程主管。
2019-10-06 17:09:003013 Adam Taylor's博客系列講解在基于ARM的Zynq SoC芯片可編程邏輯上實現(xiàn)定點數(shù)學(xué)函數(shù)計算。 我們已經(jīng)在MicroZed 系列的前期博客中學(xué)習了在PL(可編程邏輯)內(nèi)實現(xiàn)定點運算,現(xiàn)在
2017-02-09 02:07:37210 在上一篇博文中,我介紹了讓人著迷的Adafruit NeoPixel RGB LED,并且大概描述了NeoPixel驅(qū)動設(shè)計的基本要點。(參見” 亞當泰勒玩轉(zhuǎn)MicroZed連載31:系統(tǒng)模塊驅(qū)動
2017-02-09 03:41:03280 Adam Taylor's博客系列講解基于ARM的Zynq SoC芯片可編程邏輯實現(xiàn)定點算法以提高性能。 這個博客系列每周發(fā)布,迄今為止已經(jīng)發(fā)布了6個月,我們在Zynq SoC處理器系統(tǒng)(PS
2017-02-09 07:58:12193 了解Zynq PS / PL接口之后;到目前為止,我們已經(jīng)分析了Zynq All Programmable SoC芯片中的PS (處理器系統(tǒng))與PL(可編程邏輯)之間的接口。
2017-02-10 12:00:11957 我們先來了解一下上節(jié)中介紹的Zynq SoC PS/PL接口,我創(chuàng)建一個很簡單的外設(shè),使用的是DSP48E1的DSP邏輯片,依靠這個外設(shè)第一個寄存器內(nèi)的控制字執(zhí)行乘法,加法或減法。
2017-02-10 12:04:41469 到現(xiàn)在為止,我們知道如何在基于Zynq SoC的系統(tǒng)中例化PicoBlaze 軟核處理器。在這篇博客,我們將繼續(xù)探索更多關(guān)于如何生成PicoBlaze 程序以及如何使用JTAG接口更新程序而不是重新編譯整個設(shè)計。
2017-02-11 07:01:06926 Zynq SoC的處理系統(tǒng)提供額外功能讓我們可以建立一個更加靈活的Zynq 程序下載系統(tǒng)以適應(yīng)更多工作。
2017-02-11 07:03:111053 在以前發(fā)布的玩轉(zhuǎn)MicroZed系列博客中,我們建立了一個基于Zynq的系統(tǒng),通過使用雙端口RAMS和BRAM(塊RAM)控制器將兩個PicoBlaze處理器核連接到Zynq的PS部分,現(xiàn)在我們將學(xué)習一下怎樣實現(xiàn)更新存儲在雙端口RAM中的PicoBlaze處理器的程序。
2017-02-11 07:05:11943 如何獲得FreeRTOS演示并且在MicroZed上運行。FreeRTOS由Real Time Engineering公司開發(fā),為小容量和極快運行速度的嵌入式系統(tǒng)提供幫助。
2017-02-11 10:03:121513 在上一篇博客中成功地演示了FreeRTOS并在基于Zynq的MicroZed板上運行之后,顯然我們想要能夠編寫我們自己的應(yīng)用程序。因此,我們將首先舉一個簡單的例子。我們將配置Zynq SoC的XADC并且在串行鏈路上輸出結(jié)果。
2017-02-11 10:03:131019 本文主要介紹zynq linux AXI DMA傳輸步驟教程,具體的跟隨小編一起來了解一下。
2018-07-08 05:46:0029549 經(jīng)過這幾年的市場磨礪,Zynq-7000 FPGA SoC器件平臺在開發(fā)者中的認知度和接受度越來越高,這種“ARM處理器+可編程邏輯”的創(chuàng)新架構(gòu),可以幫助開發(fā)者在設(shè)計中找到高性能與靈活性的完美平衡,對此大家也心知肚明。 但是在實際的應(yīng)用中,想要玩轉(zhuǎn)Zynq這種“異構(gòu)”平臺,并非信手拈來這樣簡單。
2018-06-26 06:40:008504 Adam Taylor討論了使用Zynq?和Zynq UltraScale +?SoC開發(fā)圖像處理應(yīng)用程序時學(xué)到的一些技巧
2018-11-30 06:37:002023 ZYNQ中DMA與AXI4總線 為什么在ZYNQ中DMA和AXI聯(lián)系這么密切?通過上面的介紹我們知道ZYNQ中基本是以AXI總線完成相關(guān)功能的: 圖4?34連接 PS 和 PL 的 AXI 互聯(lián)
2020-11-02 11:27:513880 文章目錄前言主程序配置模式A配置時序應(yīng)用前言本文主要講解自己實現(xiàn)MCU控制程序。本程序具有以下功能:能夠輸出漢字能夠輸出ASCII字符串能夠輸出整數(shù)本文使用的HAL庫的版本為:STM32Cube_FW_F4_V1.25.0本文使用的STM32CubeMX版本為:6.1.1該工程的下載地址為:keil版本:https://github.com/zhenhaiyang/keilCube版本:https://github.com/zhenhaiyang/STM32CUBE關(guān)于MCU
2021-10-28 17:36:058
評論
查看更多