Search the Community

Showing results for tags 'pmodsd'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • News
    • New Users Introduction
    • Announcements
  • Digilent Technical Forums
    • FPGA
    • Digilent Microcontroller Boards
    • Non-Digilent Microcontrollers
    • Add-on Boards
    • Scopes & Instruments and the WaveForms software
    • LabVIEW
    • FRC
    • Other
  • General Discussion
    • Project Vault
    • Learn
    • Suggestions & Feedback
    • Buy, Sell, Trade
    • Sales Questions
    • Off Topic
    • Educators
    • Technical Based Off-Topic Discussions

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests

Found 7 results

  1. I am having layers of problems with the Pmod MicroSD. My ultimate goal is to get through the wifi example on youtube with a Basys 3. Today I am just trying to do the "hello world" demo for the micro SD Pmod. Issues: [Common 17-69] Command failed: BOARD_PART_PIN cannot be assigned to more than one port ["f:/microSD.srcs/sources_1/bd/microSD_bd/ip/microSD_bd_PmodSD_0_0/microSD_bd_PmodSD_0_0_board.xdc":7] I get this error for 4 pins set_property BOARD_PIN {JB7} [get_ports Pmod_out_pin7_t] set_property BOARD_PIN {JB8} [get_ports Pmod_out_pin8_t] set_property BOARD_PIN {JB9} [get_ports Pmod_out_pin9_t] set_property BOARD_PIN {JB10} [get_ports Pmod_out_pin10_t] Vivado does finish making the bitstream. I then push on incase it works anyway. In the SDK I get another error. 12:28:33 **** Incremental Build of configuration Debug for project uSD **** make all 'Building target: uSD.elf' 'Invoking: MicroBlaze g++ linker' mb-g++ -Wl,-T -Wl,../src/lscript.ld -L../../uSD_bsp/microblaze_0/lib -mlittle-endian -mcpu=v10.0 -mxl-soft-mul -Wl,--no-relax -Wl,--gc-sections -o "uSD.elf" ./src/main.o -Wl,--start-group,-lxil,-lgcc,-lc,-lstdc++,--end-group c:/xilinx/sdk/2018.2/gnu/microblaze/nt/bin/../lib/gcc/microblaze-xilinx-elf/7.2.0/../../../../microblaze-xilinx-elf/bin/ld.exe: uSD.elf section `.text' will not fit in region `microblaze_0_local_memory_ilmb_bram_if_cntlr_Mem_microblaze_0_local_memory_dlmb_bram_if_cntlr_Mem' c:/xilinx/sdk/2018.2/gnu/microblaze/nt/bin/../lib/gcc/microblaze-xilinx-elf/7.2.0/../../../../microblaze-xilinx-elf/bin/ld.exe: region `microblaze_0_local_memory_ilmb_bram_if_cntlr_Mem_microblaze_0_local_memory_dlmb_bram_if_cntlr_Mem' overflowed by 159832 bytes collect2.exe: error: ld returned 1 exit status make: *** [uSD.elf] Error 1 12:28:35 Build Finished (took 1s.389ms) Without really knowing what I'm doing, I read the error and think I need to allocate more local memory to the microblaze. "overflowed by 159832 bytes" I then open up my block design and try to customize the microblaze but see no place in change the memory it is allocated. I used the address editor and increase the allocated memory for the dlmb to 128K and then the ilmb to 128K. If I try 256K for each the validation fails. Then after this I get a slightly better SDK error. 13:13:22 **** Auto Build of configuration Debug for project uSD **** make all 'Building file: ../src/main.cc' 'Invoking: MicroBlaze g++ compiler' mb-g++ -Wall -O0 -g3 -c -fmessage-length=0 -MT"src/main.o" -I../../uSD_bsp/microblaze_0/include -mlittle-endian -mcpu=v10.0 -mxl-soft-mul -Wl,--no-relax -ffunction-sections -fdata-sections -MMD -MP -MF"src/main.d" -MT"src/main.o" -o "src/main.o" "../src/main.cc" 'Finished building: ../src/main.cc' ' ' 'Building target: uSD.elf' 'Invoking: MicroBlaze g++ linker' mb-g++ -Wl,-T -Wl,../src/lscript.ld -L../../uSD_bsp/microblaze_0/lib -mlittle-endian -mcpu=v10.0 -mxl-soft-mul -Wl,--no-relax -Wl,--gc-sections -o "uSD.elf" ./src/main.o -Wl,--start-group,-lxil,-lgcc,-lc,-lstdc++,--end-group c:/xilinx/sdk/2018.2/gnu/microblaze/nt/bin/../lib/gcc/microblaze-xilinx-elf/7.2.0/../../../../microblaze-xilinx-elf/bin/ld.exe: uSD.elf section `.text' will not fit in region `microblaze_0_local_memory_ilmb_bram_if_cntlr_Mem_microblaze_0_local_memory_dlmb_bram_if_cntlr_Mem' c:/xilinx/sdk/2018.2/gnu/microblaze/nt/bin/../lib/gcc/microblaze-xilinx-elf/7.2.0/../../../../microblaze-xilinx-elf/bin/ld.exe: region `microblaze_0_local_memory_ilmb_bram_if_cntlr_Mem_microblaze_0_local_memory_dlmb_bram_if_cntlr_Mem' overflowed by 61528 bytes collect2.exe: error: ld returned 1 exit status make: *** [uSD.elf] Error 1 13:13:25 Build Finished (took 2s.724ms) My over flow is down to 61528 bytes. I am doing all this by following the IPI tutorial and just adding the PmodSD to it. here and here Thanks FBOARC PS I am using Vivado 2018.2 as that is the version in the tutorial.
  2. So for my senior design project we're using a microblaze to poll a number generator and then write that data to an SD card. I've adapted the demo code provided in the PMOD microsd driver files to take input variables and write them to a string. Then I take that string and write it to the SD card. My problem is that no matter what I try I can't print to multiple lines. I've looked in the DFATFS.h file where all the functions are abstracted but I'm at a bit of a loss. I'll attach a text file containing the subroutine that writes to the SD card (it gets called when ever there is a new value to write). Let me know if theres any other details i didn't provide. sd write.txt
  3. Hello, Does PmodSD (https://reference.digilentinc.com/reference/pmod/pmodsd/reference-manual) support SD mode of operation? Is it designed only to work with SPI mode as written in the reference manual? Please let me know Regards, Vinay Shenoy
  4. Hello, I am using Arty board attached to 2 peripheral modules (PmodSD and PmodNAV) to write navigation data to SD card. To do so, I am combining the C example codes provided on Github for each module, and simplified it a bit which is attached. My problem is that each one of the modules are working fine individually with their own code, as long as the other Pmod is not initialized in the C code, but when I am using them at the same time it destroys my output to terminal and writes zero to both terminal and SD card. I am suspicious that the issue is because PmodSD and PmodNAV are both using AXI_LITE_SPI to talk to Microblaze, and I do not have any control on SPI bus when I am writing data. As a result, Microblaze does not know how to communicate with both of Pmods at the same time. Does this make sense? What is the best way to control the AXI_LITE_SPI when there are multiple modules connected to the Microblaze? I am trying to keep this as simple as possible, so I can use the example codes. Any help is highly appreciated. -Mahdi main.cc
  5. Hi, Inside file https://github.com/Digilent/vivado-library/blob/master/ip/Pmods/PmodSD_v1_0/drivers/PmodSD_v1_0/data/PmodSD.tcl shouldn't 'PmodWIFI' not be replaced by 'PmodSD' ? wkr Eddy
  6. Hi everyone, I am working on the tutorial of the Pmod Wifi (found here https://www.youtube.com/watch?v=KTeTMv3oiPw) and I don't really understand the role of the Pmod SD. From what I saw, in the tutorial, the Pmod SD is used to hold the static HTML pages that are then loaded in the browser. I would like to try something simpler, basic Wifi communication, and I wanted to leave out the Pmod SD IP from the block design, but then I got critical warnings at the bitstream generation. No problems arise when the Pmod SD IP is added, though. So I was wondering, is there a more important role to the Pmod SD that I did not seem to get? The critical warnings say: [IP_Flow 19-3298] Detected external port differences while upgrading IP 'PmodWIFI_axi_quad_spi_0_0'. These changes may impact your design. [IP_Flow 19-3298] Detected external port differences while upgrading IP 'PmodWIFI_axi_gpio_0_0'. These changes may impact your design. [IP_Flow 19-3298] Detected external port differences while upgrading IP 'PmodWIFI_axi_gpio_1_0'. These changes may impact your design. I am using Vivado 2015.4. I would appreciate any ideas on how these modules work or what I could have done wrong. Thanks a lot!
  7. Hello Is there any example on hoe to use the MX3kck with Pmod Ad5 and saving data to Pmod SD? I got them both working individually but having trouble getting them to work together. I pretty sure its something to do with the SPI or DSPI setups or calls. After I run this command which makes the SD selected " SD.begin(chipSelect_SD) " I can no longer get PmodAD5 data. How would I turn the Pmodad5 back on make it the active one? Whats an good way to get data from PmodAd5 and save it to Pmod SD at fast rates. Thanks for all the help Code below if you want to look at it PmodAD5 on JE connector Pmod SD on JC connector Using Mx3ck board. #include <AD7193.h> #include <DSPI.h> #include <SD.h> /******************************************************************************/ /************************ Variables Definitions *******************************/ /******************************************************************************/ AD7193 myAD7193; //char tempString [10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; unsigned long data = 0; double voltage = 0; File myFile; const int chipSelect_SD=16; //CS is at logical port 16 const int LD4=42; //LD4 is at logical port 42 const int LD5=43; //LD4 is at logical port 43 void setup() { Serial.begin(115200); if(myAD7193.Init()) { Serial.println("AD7193 OK"); } else { Serial.println("AD7193 Error"); } /*! Resets the device. */ myAD7193.Reset(); /*! Select Channel 0 */ myAD7193.ChannelSelect(AD7193_CH_0); /*! Calibrates channel 0. */ myAD7193.Calibrate(AD7193_MODE_CAL_INT_ZERO, AD7193_CH_0); /*! Selects unipolar operation and ADC's input range to +-2.5V. */ myAD7193.RangeSetup(0, AD7193_CONF_GAIN_1); //myAD7193.SetRegisterValue(1,0x010008,3,1); pinMode(LD4,OUTPUT); //set LD4 as output pinMode(LD5,OUTPUT); //set LD5 as output digitalWrite(LD4,LOW); //turn OFF LD4 to start with digitalWrite(LD5,LOW); // turn OFF LD5 to start with pinMode(chipSelect_SD,OUTPUT); digitalWrite(chipSelect_SD,HIGH); if(!SD.begin(chipSelect_SD)) //************************************** <<<<After I run this command I can no longer get A/D data*************************************************** { digitalWrite(LD4,HIGH); //was digitalWrite(LD4,HIGH); return; } } void loop() { data = myAD7193.SingleConversion(); voltage = myAD7193.BinaryToVoltage(data); myFile.println(voltage); Serial.println(voltage); }