電子發(fā)燒友網(wǎng)核心提示:本文為玩轉(zhuǎn)賽靈思Zedboard開(kāi)發(fā)板(3):基于Zynq PL的流水燈,內(nèi)容精彩,敬請(qǐng)對(duì)電子發(fā)燒友網(wǎng)保持密切關(guān)注。基于Zynq PL的流水燈是使用PL做流水燈實(shí)驗(yàn),目的是為
2012-12-05 14:25:4112770 不同類型的DMAHigh performance w/DMA幾種DMA的總結(jié)ZYNQ中不同應(yīng)用的DMA幾個(gè)常用的 AXI 接口 IP 的功能(上面已經(jīng)提到):AXI-DMA:實(shí)現(xiàn)從 PS 內(nèi)存
2022-03-31 11:39:10
七天玩轉(zhuǎn)Altera:學(xué)習(xí)FPGA必經(jīng)之路包括基礎(chǔ)篇、時(shí)序篇和驗(yàn)證篇三個(gè)部分。http://www.ttokpm.com/soft/5/2012/20120815284605.html
2014-11-05 14:07:06
。如圖所示,在Zstar板子左側(cè)靠下的位置有一排的LED指示燈,從左往右數(shù)第4個(gè)、第5個(gè)和第6個(gè)LED指示燈分別是D3、D2和D1。 2 板級(jí)調(diào)試參考文檔《玩轉(zhuǎn)Zynq-環(huán)境篇
2019-08-28 09:26:47
LED,而是IP核的應(yīng)用,當(dāng)然,僅以PLL IP核為例。2 模塊化設(shè)計(jì)參考文檔《玩轉(zhuǎn)Zynq-基礎(chǔ)篇:基于FPGA的模塊化設(shè)計(jì).pdf》。3 PLL IP核添加配置 3.1Vivado標(biāo)準(zhǔn)IP核概述我們
2019-09-06 08:13:18
,添加到Vivado的IP Catalog中,然后和標(biāo)準(zhǔn)IP核一樣,在Vivado工程中配置添加這個(gè)IP核。2 用戶自定義IP核的創(chuàng)建于封裝參考文檔《玩轉(zhuǎn)Zynq-工具篇:用戶自定義IP核的創(chuàng)建與封裝
2019-09-20 11:35:29
://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
不同通道使用情況下的數(shù)據(jù)吞吐量。大家可以在此基礎(chǔ)上,更改不同的AXI HP總線時(shí)鐘頻率,以評(píng)估時(shí)鐘頻率對(duì)AXI HP總線的影響。2 AXI總線協(xié)議介紹參考文檔《玩轉(zhuǎn)Zynq-基礎(chǔ)篇:AXI總線協(xié)議介紹
2019-11-28 10:11:38
第七期了,慢慢開(kāi)始了解labview的用法了,希望更加深入了解并靈活運(yùn)用,互勉互勵(lì)?。。。?/div>
2018-09-11 20:05:24
目錄第一篇PCB布線 第二篇PCB布局 第三篇高速PCB 設(shè)計(jì) 第四篇電磁兼容性和 PCB設(shè)計(jì)約束 第五篇高密度(HD)電路的設(shè)計(jì) 第六篇抗干擾部分 第七篇印制電路板的可靠性設(shè)計(jì)-去耦電容配置第八篇
2011-04-29 17:50:10
如果點(diǎn)亮第七個(gè)led是不是只用改board_ddr200t.h里邊的和main。c里邊的,還要在哪個(gè).h文件修改嗎?我的main函數(shù)是對(duì)的,就是第七個(gè)led不亮不知道哪里出了問(wèn)題
2023-08-12 06:01:21
《測(cè)控電路》習(xí)題完整參考答案(第七章)
2017-05-07 11:38:20
《通向FPGA之路---七天玩轉(zhuǎn)Altera》--又一牛人力作,媲美包括基礎(chǔ)篇+時(shí)序篇+驗(yàn)證篇?;A(chǔ)篇是講Quartus的,精彩內(nèi)容:http://www.ttokpm.com/soft/5
2014-12-11 11:41:43
` 本帖最后由 eehome 于 2013-1-5 09:59 編輯
《零死角玩轉(zhuǎn)STM32》初級(jí)/中級(jí)/高級(jí)/系統(tǒng)篇-480多頁(yè)E幣不夠的朋友給我發(fā)消息,我打包發(fā)給你【如何學(xué)習(xí)STM32-原創(chuàng)
2012-11-20 09:51:38
本帖最后由 iysheng 于 2016-9-26 19:59 編輯
本文主要記錄如下在ubuntu下,使用eclipse完成對(duì)BBB的交叉編譯和遠(yuǎn)程支持。最開(kāi)始,安裝eclipse:Apt-get install eclipse安裝C/C++支持部件。安裝TM部件。記下來(lái)安裝交叉編譯工具鏈:一切前期準(zhǔn)備就完成了,接下來(lái)是配置環(huán)境了。打開(kāi)eclipse,新建工程。選擇:c/c++可執(zhí)行類的工程:配置編譯工具鏈和頭文件、庫(kù)文件。修改鏈接參數(shù),為靜態(tài)鏈接,否則會(huì)出錯(cuò)。配置遠(yuǎn)程支持:看下效果,可以在eclipse中,進(jìn)入BBB的終端:接下來(lái)就是編程了:先看下靜態(tài)和動(dòng)態(tài)鏈接的區(qū)別吧:靜態(tài)鏈接可以正常運(yùn)行,動(dòng)態(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號(hào)就這樣一步步在路上艱難地前行著,我們不知道還要走幾個(gè)兩萬(wàn)五千里,只知道前行可能有希望,停下就是絕望。繼續(xù)MO7號(hào)的成長(zhǎng)之路,MO7號(hào)的運(yùn)動(dòng)系統(tǒng)有四個(gè)傳感器,底部有兩個(gè)紅外循跡傳感器,左右兩邊有兩個(gè)紅外避障傳感器,其實(shí)都是成對(duì)兒的紅外收發(fā)二極管,發(fā)出的紅外光遇到障礙物會(huì)反射回來(lái)被接收,引發(fā)電平變化,四個(gè)傳感器引出四根線,傳遞電平變化,有四個(gè)電位器可以調(diào)節(jié)遇障礙物時(shí),觸發(fā)電平變化的距離遠(yuǎn)近。我們利用其中兩個(gè)壁障用的傳感器給MO7號(hào)做個(gè)條件反射,在即將遇到障礙物時(shí),也就是將要撞墻時(shí),立即停車(chē)。童鞋們可以觀察下,一般小孩子剛學(xué)會(huì)走路時(shí)對(duì)撞墻是沒(méi)撒概念的,直接往上撞,撞的次數(shù)多了,力度大了,疼了,會(huì)哭,以后快到墻跟前就會(huì)放慢速度不了,再后來(lái)跑得快了剎不住了還會(huì)用手擋一下緩沖。 在C51XXX型號(hào)的單片機(jī)里有兩個(gè)外中斷,兩個(gè)定時(shí)器中斷,一個(gè)串口中斷,C52XXXX里多了一個(gè)定時(shí)器中斷,目前我們用了兩個(gè)定時(shí)器中斷一個(gè)外中斷了,這回需要借助第三個(gè)定時(shí)器中斷,T2。中斷這東看你怎么理解了,其實(shí)我們每天都生活在中斷中,在馬路上走著的時(shí)候,突然手機(jī)響了,要拿出手機(jī)接電話,正通話時(shí),對(duì)面突然直奔你跑來(lái)一個(gè)小baby,你得躲開(kāi)它,不然被你撞倒你就慘了,躲開(kāi)后你接著接電話,說(shuō)完了掛機(jī),繼續(xù)走路。有可能你一直在走路,邊走邊接電話,躲開(kāi)小baby,那是因?yàn)槿说闹袠猩窠?jīng)系統(tǒng)并發(fā)處理能力很強(qiáng)大,兩條腿兒往前搗騰這樣簡(jiǎn)單的動(dòng)作直接交給脊髓里幾個(gè)神經(jīng)元就解決了,腦子在隨時(shí)處理突發(fā)的意外情況,就像不停地處理多級(jí)嵌套中斷、并發(fā)中斷,我們應(yīng)該感謝造物主給了我們這么強(qiáng)大的神經(jīng)系統(tǒng),阿彌陀佛。跑題了又, 我們利用下T2,上代碼,先用蜂鳴器測(cè)試下,t2是否健在,主程序里使能t2,測(cè)試,沒(méi)問(wèn)題,一秒響一下,好,接下來(lái)再修改下,人的潛意識(shí)里,一直都繃著一根弦兒,就是趨利避害,處理好了,就是利人利己雙贏效果,處理不好就是損人利己,被罵,要是毫不利己專門(mén)利人,那就是活雷鋒了。。。。我們也給MO7號(hào)繃上一根弦兒,用T2每隔一小會(huì)兒檢查下,是否要撞墻,最理想的方法是直接連兩個(gè)外中斷,由電平變化觸發(fā),可惜我們的單片機(jī)外中斷就兩個(gè),還被占用了,就用T2加查詢法吧。每隔一小會(huì)兒,看看左右避障傳感器是否有遇到障礙的低電平信號(hào),有了就立刻停車(chē),然后再倒一下。改下t2中斷代碼,我們換一種方式,讓t2數(shù)1000下檢查一次是否遇到障礙物,遇到的話就退一下再走,基本上成功,就是有個(gè)bug,t2溢出那一刻,車(chē)速會(huì)變成全速運(yùn)行,但不是回回如此,這個(gè)不曉得怎么回事。
2016-03-27 19:22:57
本帖最后由 iysheng 于 2016-6-16 10:28 編輯
隔了這么多天,前幾天忙老師的項(xiàng)目,把藍(lán)宙小車(chē)?yán)渎淞诵?,,,,今天趕緊補(bǔ)上。仔細(xì)看了看給的硬件,循跡的試用還沒(méi)呢,所以今天就趕緊補(bǔ)上來(lái)。首先,用到的紅外循跡模塊的圖片如下(我已經(jīng)早早的固定到底板上了):然后,就是接線,在傳感器的擴(kuò)展板上有明確的地方用于紅外循跡,如下所示:最后,就是我這次演示用到的一個(gè)輔助工具,但是我是順手拈來(lái)的(因?yàn)榫驮谧雷拥呐赃?、、、)。因?yàn)樯厦鎰偤糜泻谏乃芰?,我就直接拿?lái)用了。主要的演示視頻(通過(guò)演示得知紅外循跡模塊還是挺靈敏的),我已經(jīng)上傳到網(wǎng)上了,還是挺靈敏的,由于場(chǎng)地的限制,我就不演示沿著黑色的軌跡進(jìn)行行駛的過(guò)程了,希望多多包涵。
2016-06-16 10:28:33
本帖最后由 ICHLIEBEDICH13 于 2015-9-17 16:35 編輯
【OK210試用體驗(yàn)】【第七篇】嵌入式Linux開(kāi)發(fā)學(xué)習(xí)筆記【第4課Linux文件操作函數(shù)】 LINUX下文
2015-09-17 16:35:30
本帖最后由 L490351555 于 2015-10-14 18:11 編輯
配置MySQL數(shù)據(jù)庫(kù)插件驅(qū)動(dòng)主要分為兩步:第一步:按照我上一篇“【OK210試用體驗(yàn)】之第六篇:配置ARM平臺(tái)
2015-10-14 18:10:04
因?yàn)槲乙ㄟ^(guò)4路DA輸出,控制兩路電機(jī),而Rico Board上又沒(méi)有直接輸出DA的部分,所以我考慮為了節(jié)省資金,準(zhǔn)備通過(guò)4路PWM輸出來(lái)實(shí)現(xiàn)4路DA的輸出功能。第一步:先把4路DA正常輸出吧,用的hrt高精度時(shí)鐘,主要為了實(shí)現(xiàn)比較平滑的輸出,pwm的頻率越高,低通濾波后的輸出越平滑,這也是我所希望的。硬件上,用了4個(gè)GPIO實(shí)現(xiàn)4路輸出,如下所示:實(shí)現(xiàn)的效果如下:我同時(shí)測(cè)試了兩路輸出,因?yàn)槭静ㄆ髦挥袃蓚€(gè)通道啊。測(cè)了三組:測(cè)試的硬件連接圖:示波器的顯示如下所示:今天焊上了濾波電路,也測(cè)了三組,終端顯示如下:分別表示1650mv,330mv,3267mv。濾波后的輸出波形,示波器測(cè)試如下:但是把信號(hào)加入到電機(jī)驅(qū)動(dòng)時(shí),發(fā)現(xiàn)電壓被拉低或是被太高,準(zhǔn)備明天再加一級(jí)跟隨試一試。下圖是我的濾波電路和測(cè)試現(xiàn)場(chǎng)圖:驅(qū)動(dòng)代碼如下:[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
分享一個(gè)第七實(shí)驗(yàn)室姿態(tài)模塊的源碼及說(shuō)明書(shū)。感覺(jué)他們的代碼寫(xiě)的很好,大家有做飛行器可以參考下,學(xué)習(xí)一下他們的寫(xiě)法。
2015-09-26 16:02:41
stemwin,但是苦于時(shí)間有限,目前沒(méi)有成功,以后有時(shí)間爭(zhēng)取補(bǔ)上吧.在移植到ucosiii之前,基于裸機(jī)下的演示在帖子第七篇?裸機(jī)下的測(cè)控儀開(kāi)發(fā)搞一段落,但路還很長(zhǎng)好像那個(gè)視頻播放有些問(wèn)題.這次我就再
2017-06-11 18:39:12
大家好,我是痞子衡,是正經(jīng)搞技術(shù)的痞子。今天痞子衡給大家介紹的是恩智浦i.MX RT1xxx系列MCU的Raw NAND啟動(dòng)?! ∏懊驿亯|了七篇啟動(dòng)系列文章,終于該講具體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家族。是否可以在電路板上使用它?如果沒(méi)有,支持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地址(第一次將它們同時(shí)插入網(wǎng)絡(luò))。通過(guò)u-boot代碼,我看到MAC地址被烘焙到環(huán)境中(在zync_common.h中)。#define
2019-09-16 14:57:55
電工學(xué)第七版下冊(cè)課后答案
2022-01-27 13:49:51
提供了自動(dòng)計(jì)算功能,在電路活動(dòng)時(shí),可以測(cè)量高功率開(kāi)關(guān)上的可重復(fù)開(kāi)關(guān)損耗和傳導(dǎo)損耗。 在一切就緒后,您可以轉(zhuǎn)向連載的第七篇,其將介紹效率和規(guī)范測(cè)試。 文章來(lái)源:日?qǐng)D科技 微信:Ritu-17微博:日?qǐng)D科技Ritu
2016-09-02 14:39:38
至芯科技之a(chǎn)ltera 系列FPGA教程 第七篇 新建verilog文件
2016-08-11 03:22:30
mesh系列 第二篇》)。
圖 1 – 藍(lán)牙m(xù)esh協(xié)議棧
藍(lán)牙m(xù)esh網(wǎng)絡(luò)采用低功耗藍(lán)牙作為其射頻通信協(xié)議棧。而具體如何使用,則是藍(lán)牙m(xù)esh網(wǎng)絡(luò)協(xié)議棧最底層的承載層需要負(fù)責(zé)的工作。
目前定義了兩個(gè)承載層
2019-07-25 08:36:13
通向FPGA之路---七天玩轉(zhuǎn)Altera之驗(yàn)證篇V1.0
2012-08-15 13:08:27
本系列教程的宗旨是在力求全面介紹Altera及其QuartusII軟件原理的基礎(chǔ)上,對(duì)何如使用Altera FPGA進(jìn)行基礎(chǔ)設(shè)計(jì)、時(shí)序分析、驗(yàn)證、優(yōu)化四大方面進(jìn)行講解通向FPGA之路---七天玩轉(zhuǎn)
2012-12-04 14:36:51
零死角玩轉(zhuǎn)STM32+初級(jí)篇+中級(jí)篇+系統(tǒng)篇
2019-01-16 16:29:06
想學(xué)習(xí)STM32的朋友必不可少的資料。共享給大家. 《零死角玩轉(zhuǎn) STM32》系列教程由初級(jí)篇、中級(jí)篇、高級(jí)篇、系統(tǒng)篇、 四個(gè)部分組成,根據(jù)野火 STM32開(kāi)發(fā)板舊版教程升級(jí)而來(lái),且經(jīng)過(guò)重新深入
2015-02-12 11:05:33
` 本帖最后由 Linux_ARM 于 2016-5-2 13:57 編輯
[hide]零死角玩轉(zhuǎn)stm32-初級(jí)篇 http://pan.baidu.com/share/link
2016-05-02 13:54:26
想學(xué)習(xí)STM32的朋友必不可少的資料。共享給大家. 《零死角玩轉(zhuǎn) STM32》系列教程由初級(jí)篇、中級(jí)篇、高級(jí)篇、系統(tǒng)篇、 四個(gè)部分組成,根據(jù)野火 STM32開(kāi)發(fā)板舊版教程升級(jí)而來(lái),且經(jīng)過(guò)重新深入
2015-02-12 11:06:24
KL 系列常見(jiàn)問(wèn)題和解答匯總篇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開(kāi)發(fā)板上使用以太網(wǎng)的數(shù)據(jù)傳輸問(wèn)題。我們還沒(méi)有涉及片上外設(shè)通信的問(wèn)題:實(shí)時(shí)時(shí)鐘,非易失內(nèi)存以及獨(dú)特的傳感器。這些通信涉及到I2C或者SPI總線。
2017-01-13 11:07:11748 在Adam Taylor玩轉(zhuǎn)MicroZed系列的前期部分中,我們介紹了IP棧的概念。(見(jiàn)Adam Taylor玩轉(zhuǎn)MicroZed系列第79部分:Zynq SoC以太網(wǎng)第3部分)接下來(lái)就是在我們的設(shè)計(jì)中使用該協(xié)議棧了。SDK開(kāi)發(fā)環(huán)境允許我們創(chuàng)建BSP的時(shí)候包含一個(gè)輕量級(jí)的IP棧(lwIP)。
2017-01-13 11:17:111033 By Adam Taylor 在本系列博客的前兩部分中,我們研究了帶有Zynq SoC PS(處理器系統(tǒng))的以太網(wǎng)MAC(介質(zhì)訪問(wèn)控制層),包括深入探討了一個(gè)MAC使用范例。以太網(wǎng)MAC是一個(gè)基礎(chǔ)的構(gòu)建模塊,它允許我們實(shí)現(xiàn)一個(gè)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 在過(guò)去一周中,我接到了很多不同人的來(lái)信,他們正在使用以Zynq為基礎(chǔ)的開(kāi)發(fā)工具。他們非常想知道怎么樣去把MicroZed系列博客教程應(yīng)用到他們所選擇的硬件平臺(tái)上。加上
2017-02-08 02:12:49426 研究了相關(guān)的時(shí)序約束后,在設(shè)計(jì)中我們也不能忽視所能運(yùn)用到的物理約束。一個(gè)工程師最常用的物理約束是I/O管腳的放置和與每個(gè)I/O腳相關(guān)的參數(shù)定義(標(biāo)準(zhǔn)、驅(qū)動(dòng)能力等)。然而,還有其它類型的物理約束: ?放置約束——定義元件位置 ?布線約束——定義信號(hào)布線 ?I/O腳約束——定義I/O腳位置和I/O腳參數(shù) ?配置約束——定義配置方法 按照慣例,有一些約束獨(dú)立于這些組之外。Vivado套件有三個(gè)約束,并且主要用于網(wǎng)表: ?DONT_TOUCH——用來(lái)防止
2017-02-08 02:20:11206 By Adam Taylor 在先前的博客中我們研究過(guò)I/O約束,下一個(gè)合乎邏輯的步驟就是研究如何在我們的設(shè)計(jì)中用FPGA進(jìn)行放置和布線約束。使用放置約束的原因如下:為了幫助實(shí)現(xiàn)時(shí)序,或者
2017-02-08 02:22:11238 通過(guò)前面的學(xué)習(xí),我們已經(jīng)對(duì)Zynq系列的PL和PS部分已經(jīng)有了相當(dāng)多的了解。其中有關(guān)約束的部分我們?cè)?jīng)提到過(guò)但是沒(méi)有重點(diǎn)關(guān)注。約束可以添加特定的信息到你的設(shè)計(jì),并在綜合工具和實(shí)現(xiàn)工具中可以得到實(shí)現(xiàn)
2017-02-08 03:58:43645 上周的博客中我們完成了硬件的搭建,并且把硬件部分導(dǎo)入到SDK,見(jiàn)Adam Taylor’s MicroZed Chronicles Part 67: AXI DMA II,下一步通過(guò)寫(xiě)一個(gè)簡(jiǎn)單的程序
2017-02-08 05:53:11303 上周的博客中我們學(xué)習(xí)了Zynq SoC的AXI DMA,我解釋了怎樣利用AXI DMA控制器將數(shù)據(jù)從PL搬運(yùn)到PS。在本期博客中我們將學(xué)習(xí)怎樣完成硬件的搭建。 首先我們要更深入的了解一下AXI
2017-02-08 08:10:39286 在我最新一期發(fā)表的博客中介紹了如何通過(guò)Zynq PS(處理器系統(tǒng))內(nèi)部的AXI總線接口尋址Zynq SoC的XADC模塊以及如何調(diào)試與分析你的應(yīng)用程序。但是我們?nèi)匀粵](méi)有看到Zynq SoC的一個(gè)非常
2017-02-08 08:14:11153 在本系列上一篇博客中,我們學(xué)習(xí)了解了使用XMD和XSDB來(lái)調(diào)試我們的應(yīng)用和系統(tǒng)。然而為了確保我們的應(yīng)用在性能上是優(yōu)化的,另一個(gè)非常重要的方面就是對(duì)應(yīng)用程序進(jìn)行詳細(xì)分析。 分析不同于調(diào)試,就分析功能
2017-02-08 09:53:00130 在此系列博客的前面幾期中,我們已經(jīng)可以運(yùn)行示例應(yīng)用并獲得用于分析的程序運(yùn)行數(shù)據(jù)。運(yùn)行分析器可以生成一個(gè)gmon.out格式的文件,它包含了分析數(shù)據(jù)。當(dāng)應(yīng)用程序運(yùn)行自然結(jié)束或者通過(guò)SDK來(lái)終止應(yīng)用程序
2017-02-08 09:56:49180 在上一篇的MicroZed系列博客中,我們學(xué)習(xí)了兩種與XADC進(jìn)行通信的方法:Zynq SoC 的AXI或者DevC接口。通過(guò)在每個(gè)驅(qū)動(dòng)程序中輸出XADC的基地址,我演示了這兩種XADC通信方法
2017-02-08 09:58:42221 本周的博客內(nèi)容將繼續(xù)學(xué)習(xí)Zynq SoC的XADC,上周一名讀者提出了一個(gè)非常有意思的問(wèn)題,我覺(jué)得有必要探究一下這個(gè)關(guān)于XADC的問(wèn)題,也有必要中斷一下正在進(jìn)行的關(guān)于PicoBlaze處理器的學(xué)習(xí)
2017-02-08 10:04:11242 前面的幾篇博客中,我們通過(guò)介紹怎樣驅(qū)動(dòng)CCD的一些知識(shí)了解了PicoBlaze的一些特點(diǎn),同時(shí)也知道了通過(guò)Zynq PS(處理器系統(tǒng))可是實(shí)現(xiàn)PicoBlaze的動(dòng)態(tài)可重配置,我覺(jué)得在這次博客當(dāng)中
2017-02-08 11:11:37134 作者:
Adam Taylor 在上一篇博客中我們已經(jīng)知道了如何動(dòng)態(tài)更新PicoBlaze的運(yùn)行程序,現(xiàn)在我們要學(xué)習(xí)一個(gè)完成的設(shè)計(jì)應(yīng)用。一個(gè)非常相關(guān)的應(yīng)用就是驅(qū)動(dòng)CCD(電荷耦合元件)圖像傳感器,因?yàn)?/div>
2017-02-08 12:31:33144 正如我上周所講,Petalinux是Xilinx針對(duì)Zynq SoC提供的Linux官方版本。為了攫取該版本最大資源,我們需要?jiǎng)?chuàng)建自己的版本。這就需要我們?cè)贚inux環(huán)境下進(jìn)行開(kāi)發(fā)。現(xiàn)在,并不是
2017-02-08 13:58:08164 如果在我們的虛擬機(jī)上已經(jīng)安裝好了SDK,我們就得使用Linux操作系統(tǒng)來(lái)建立我們自己的應(yīng)用程序。這通常需要對(duì) Zynq SoC的硬件重新進(jìn)行定義。 首先,我們要做的就是確保將VIVADO設(shè)計(jì)套件以及
2017-02-08 13:58:11300 我必須承認(rèn)這是一篇我從來(lái)不希望要寫(xiě)的博客。當(dāng)我開(kāi)始寫(xiě)玩轉(zhuǎn)MicroZed時(shí),我還不確定每周一篇寫(xiě)到52篇。達(dá)到這樣的里程碑并擁有150,000的瀏覽量,我想回顧過(guò)去的一年在Zynq SoC上涵蓋
2017-02-08 15:35:37108 作者:Adam Taylor 在上一篇博客中我們了解了Zynq SoC的OCM(片上存儲(chǔ)器) ,利用它可以實(shí)現(xiàn)在AMP模式下內(nèi)部處理器內(nèi)核之間的通信。現(xiàn)在我們將寫(xiě)一些程序代碼將這個(gè)設(shè)備(OCM)利用
2017-02-08 15:38:12606 作者:Adam Taylor 在最近的幾篇博客中,我們花了主要精力講解操作系統(tǒng)和AMP(非對(duì)稱多進(jìn)程處理),接下來(lái)我們希望看到Linux系統(tǒng)在microzed板上運(yùn)行。我們目前還沒(méi)有討論
2017-02-08 15:42:12529 作者:Adam Taylor 上篇博客中我們看到了在ZynqSoC的兩塊ARM Cortex-A9 MPCore處理器之間共享數(shù)據(jù)。我提到方法可以改進(jìn)——使得更加高效——我們可以使用軟件中斷來(lái)進(jìn)行
2017-02-08 15:47:34222 介紹完操作系統(tǒng)后我將會(huì)在Zynq SoC上演示,我打算首先在MicroZed上實(shí)現(xiàn)的操作系統(tǒng)就是Micrium公司的uC/OSiii。這是一個(gè)硬式實(shí)時(shí)操作系統(tǒng),可以點(diǎn)擊這里下載。 該OS已經(jīng)用于大量
2017-02-08 18:26:11149 最近的幾篇關(guān)于MicroZed系列的博客中我們介紹并了解了RTOS(實(shí)時(shí)操作系統(tǒng))的概念,既然已經(jīng)介紹了基本知識(shí),是時(shí)候在MicroZed開(kāi)發(fā)板上實(shí)現(xiàn)運(yùn)行我們的第一個(gè)操作系統(tǒng)。我們將使
2017-02-08 18:27:06323 作者:Steve Leibson, 賽靈思戰(zhàn)略營(yíng)銷(xiāo)與業(yè)務(wù)規(guī)劃總監(jiān) 在我前面的一篇博客(查看Adam Taylor玩轉(zhuǎn)MicroZed系列40:MicroZed操作系統(tǒng)第二部分)中,大家已經(jīng)見(jiàn)識(shí)
2017-02-08 18:27:11202
已全部加載完成
評(píng)論
查看更多