{"id":428,"date":"2017-11-24T23:17:42","date_gmt":"2017-11-24T22:17:42","guid":{"rendered":"http:\/\/mikrocontroller.bplaced.net\/wordpress\/?page_id=428"},"modified":"2017-12-31T19:14:24","modified_gmt":"2017-12-31T18:14:24","slug":"50-sram-library-stm32f4","status":"publish","type":"page","link":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/stm32f4\/komplette-library-liste-stm32f4\/50-sram-library-stm32f4\/","title":{"rendered":"50-SRAM-Library (STM32F4)"},"content":{"rendered":"<p><div id=\"nav-below\" class=\"navigation\"><div class=\"nav-previous\"><a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/stm32f4\/komplette-library-liste-stm32f4\/49-inputcapture_frq-library-stm32f4\/\" title=\"49-InputCapture_Frq-Library (STM32F4)\"><span class=\"meta-nav\">\u2190<\/span> 49-InputCapture_Frq-Library (STM32F4)<\/a><\/div><\/div><!-- #nav-below --><div id=\"nav-below\" class=\"navigation\"><div class=\"nav-next\"><a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/stm32f4\/komplette-library-liste-stm32f4\/51-inputcapture_pwm-library-stm32f4\/\" title=\"51-InputCapture_PWM-Library (STM32F4)\">51-InputCapture_PWM-Library (STM32F4) <span class=\"meta-nav\">&rarr;<\/span><\/a><\/div><\/div><!-- #nav-below --><\/p>\n<p>Um ein externes SRAM an das STM32F4-Discovery-Board anzuschlie\u00dfen, habe ich eine Lochrasterkarte als Basisboard benutzt und dort das SRAM und die Zusatzbeschaltung draufgel\u00f6tet.<\/p>\n<p><em>Wichtig !! wegen einer Doppelbelegung von Pin PD5 sollte der 0 Ohm Widerstand R50 auf dem Discovery-Board entfernt werden !!<\/em><\/p>\n<p><strong>Schaltplan :<\/strong><\/p>\n<p><a href=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2013\/07\/mod_4mbit_sram_sch.pdf\">mod_4mbit_sram_sch<\/a><\/p>\n<p><strong>Bild :<\/strong><\/p>\n<div id=\"gallery-1\" class=\"gallery galleryid-2067 gallery-columns-3 gallery-size-thumbnail\">\n<dl class=\"gallery-item\">\n<dt class=\"gallery-icon\"><a title=\"sram1\" href=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2013\/07\/sram1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-thumbnail\" src=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2013\/07\/sram1-150x150.jpg\" alt=\"Discovery-Board und SRAM\" width=\"150\" height=\"150\" \/><\/a><\/dt>\n<dd class=\"wp-caption-text gallery-caption\">Discovery-Board und SRAM<\/dd>\n<\/dl>\n<dl class=\"gallery-item\">\n<dt class=\"gallery-icon\"><a title=\"sram2\" href=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2013\/07\/sram2.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-thumbnail\" src=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2013\/07\/sram2-150x150.jpg\" alt=\"Lochrasterkare\" width=\"150\" height=\"150\" \/><\/a><\/dt>\n<dd class=\"wp-caption-text gallery-caption\">Lochrasterkare<\/dd>\n<\/dl>\n<p>&nbsp;<\/p>\n<\/div>\n<p><strong>Beschreibung :<\/strong><\/p>\n<p>Das SRAM habe ich bei Farnell gekauft (BstNr. : 1562920) es ist ein 4Mbit [256k x 16bit] Modul mit einer Geschwindigkeit von 10ns (8,60 EUR).<\/p>\n<p>Weil auf dem Discovery-Board die Adressleitungen A0 bis A15 nicht vorhanden sind (wegen dem 100Pin-Package der CPU) muss der Berieb der FSMC-Schnittstelle im Adress-Multiplex-Mode erfolgen. Daf\u00fcr sind dann noch Adress-Latches notwendig (z.B. 74573). Und weil das Latch-Enable-Signal der CPU Lo-Activ ist, wird noch ein Inverter ben\u00f6tigt (am besten ein schneller VHC-Typ z.B. 74VHC04)<\/p>\n<p><strong>Geschwindigkeit :<\/strong><\/p>\n<p>Beim ersten Quick&amp;Dirty Test komme ich beim lesen auf ca 6,0 MByte\/sec und beim schreiben auf 6,8 MByte\/sec.<\/p>\n<p><strong>Benutzte Pins :<\/strong><\/p>\n<pre lang=\"c\" line=\"1\">PD0 =RAM_AD2        PB7 =Latch_Enable (Lo-Aktiv)\r\nPD1 =RAM_AD3        PE7 =RAM_AD4\r\nPD4 =RAM_OE         PE8 =RAM_AD5\r\nPD5 =RAM_WE         PE9 =RAM_AD6\r\nPD7 =RAM_CE         PE10=RAM_AD7\r\nPD8 =RAM_AD13       PE11=RAM_AD8\r\nPD9 =RAM_AD14       PE12=RAM_AD9\r\nPD10=RAM_AD15       PE13=RAM_AD10\r\nPD11=RAM_A16        PE14=RAM_AD11\r\nPD12=RAM_A17        PE15=RAM_AD12\r\nPD14=RAM_AD0\r\nPD15=RAM_AD1<\/pre>\n<p><strong>Voraussetzungen :<\/strong><\/p>\n<pre lang=\"c\" line=\"1\">Benutzte Module der CooCox-IDE : GPIO, FSMC\r\nBenutzte Librarys : keine<\/pre>\n<p><strong>Funktionen :<\/strong><\/p>\n<pre lang=\"c\" line=\"1\">ErrorStatus UB_SRAM_Init(void);                   \/\/ zum init vom RAM (und Test ob vorhanden)\r\nvoid UB_SRAM_Write(uint32_t adr, uint16_t wert);  \/\/ zum schreiben eines 16bit Wertes in das RAM\r\nuint16_t UB_SRAM_Read(uint32_t adr);              \/\/ zum lesen eines 16bit Wertes aus dem RAM<\/pre>\n<p><strong>Beispiel :<\/strong><\/p>\n<pre lang=\"c\" line=\"1\">\/\/--------------------------------------------------------------\r\n\/\/ File     : main.c\r\n\/\/ Datum    : 19.07.2013\r\n\/\/ Version  : 1.0\r\n\/\/ Autor    : UB\r\n\/\/ EMail    : mc-4u(@)t-online.de\r\n\/\/ Web      : www.mikrocontroller-4u.de\r\n\/\/ CPU      : STM32F4\r\n\/\/ IDE      : CooCox CoIDE 1.7.0\r\n\/\/ Module   : CMSIS_BOOT, M4_CMSIS_CORE\r\n\/\/ Funktion : Demo der SRAM-Library\r\n\/\/ Hinweis  : Diese zwei Files muessen auf 8MHz stehen\r\n\/\/              \"cmsis_boot\/stm32f4xx.h\"\r\n\/\/              \"cmsis_boot\/system_stm32f4xx.c\"\r\n\/\/--------------------------------------------------------------\r\n\r\n#include \"main.h\"\r\n#include \"stm32_ub_sram.h\"\r\n#include \"stm32_ub_led.h\"\r\n\r\nvoid Delay(__IO uint32_t nCount)\r\n{\r\n  while(nCount--)\r\n  {\r\n  }\r\n}\r\n\r\nint main(void)\r\n{\r\n  uint32_t adr;\r\n  uint16_t sollwert, istwert;\r\n  ErrorStatus ramcheck;\r\n\r\n  SystemInit(); \/\/ Quarz Einstellungen aktivieren\r\n\r\n  \/\/ Init der Orangen LED\r\n  UB_Led_Init();\r\n\r\n  \/\/ init vom externen SRAM (und test ob es vorhanden ist)\r\n  ramcheck=UB_SRAM_Init();\r\n  if(ramcheck==SUCCESS) {\r\n    \/\/ zum test RAM komplett f\u00fcllen\r\n    sollwert=0xA1B2;\r\n    for(adr=0;adr&lt;SRAM_MAX_ADR;adr++) {\r\n      UB_SRAM_Write(adr,sollwert);\r\n      sollwert++;\r\n    }\r\n\r\n    \/\/ Ram wieder auslesen und pr\u00fcfen\r\n    sollwert=0xA1B2;\r\n    for(adr=0;adr&lt;SRAM_MAX_ADR;adr++) { istwert=UB_SRAM_Read(adr); if(istwert!=sollwert) { \/\/ RAM-Inhalt fehlerhaft ramcheck=ERROR; } sollwert++; } } while(1) { if(ramcheck==SUCCESS) { \/\/ wenn kein Fehler -&gt; LED leuchtet\r\n      UB_Led_On(LED_ORANGE);\r\n    }\r\n    else {\r\n      \/\/ wenn Fehler -&gt; LED blinkt\r\n      UB_Led_Toggle(LED_ORANGE);\r\n      Delay(500000);\r\n    }\r\n  }\r\n}\r\n<\/pre>\n<p>Hier die Library zum\u00a0<strong>Download :<\/strong><\/p>\n<p><a href=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2013\/07\/ub_stm32f4_sram_v100.zip\">ub_stm32f4_sram_v100<\/a><\/p>\n<p>Hier der komplette CooCox-Projektordner zum\u00a0<strong>Download :<\/strong><\/p>\n<p><a href=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2013\/07\/Demo_50_SRAM.zip\">Demo_50_SRAM<\/a><\/p>\n<h3 id=\"comments-title\">23 Antworten auf <em>50-SRAM-Library (STM32F4)<\/em><\/h3>\n<ol class=\"commentlist\">\n<li id=\"li-comment-718\" class=\"comment even thread-even depth-1\">\n<div id=\"comment-718\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/b7ede243fe3849651e8796db9381bf09?s=40&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Peter<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">19. August 2013 um 16:01<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Wie ist es denn bei Farnell, also kann man Privat bei Farnell bestellen? Eigentlich ist es ja nur f\u00fcr Gewerbetreibende<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-719\" class=\"comment byuser comment-author-admin_ub bypostauthor odd alt depth-2\">\n<div id=\"comment-719\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">19. August 2013 um 16:39<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>es gibt den \u201chbe-shop.de\u201d da kann man als Privat Person alles was es bei Farnell gibt bestellen. Falls ein Bauteil nicht gelistet ist, einfach per EMail Anfragen, das funktioniert normalerweise.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-1470\" class=\"comment even thread-odd thread-alt depth-1\">\n<div id=\"comment-1470\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67c3c30df3cafdbb3118a0724e26bcd1?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Dirk Seidel<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">13. M\u00e4rz 2014 um 21:46<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hallo,<\/p>\n<p>ich lass mal ein Danke hier, f\u00fcr die tolle Seite.<\/p>\n<p>Ich will mich demn\u00e4chst auch an das Thema \u2013 externer SRAM heranwagen.<\/p>\n<p>Gru\u00df Dirk<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-1471\" class=\"comment odd alt depth-2\">\n<div id=\"comment-1471\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/b894d67379dd0647dd316009f47155d2?s=40&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Joerg B<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">14. M\u00e4rz 2014 um 00:39<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hallo Dirk,<br \/>\ndann solltest du dir aber besser ein Board mit S-Ram kaufen.<br \/>\nMit der 100 PIN CPU auf dem Discovery macht es nicht wirklich Sinn.<\/p>\n<p>Nehm einfach 429 Discovery, da ist S-Ram mit drauf oder besorge dir ein anderes Board mit S-Ram.<\/p>\n<p>Ich habe welche von POWERMCU mit SRAM NAND Flash und NOR Flash.<br \/>\nOder Red Dragon 407<\/p>\n<p>einfach mal googeln.<\/p>\n<p>Gr\u00fc\u00dfe<\/p>\n<p>J\u00f6rg<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-2436\" class=\"comment even thread-even depth-1\">\n<div id=\"comment-2436\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/26d01ed6df61003d928f913404685a40?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\"><a class=\"url\" href=\"http:\/\/madeinepal.com\/\" rel=\"external nofollow\">mukhe<\/a><\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">7. November 2014 um 13:03<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Guten tag!<\/p>\n<p>i can\u2019t speak german but could i ask something in english?<br \/>\nMy question here is: why is the PB7 NL pin connected to a hex converter(?) first [74HC04] and then only connected to the flip flop\/latcher? why is this step necessary?<\/p>\n<p>thanks<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-2439\" class=\"comment byuser comment-author-admin_ub bypostauthor odd alt depth-2\">\n<div id=\"comment-2439\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">7. November 2014 um 20:05<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>english is no problem when you can handle my bad syntax <img decoding=\"async\" class=\"wp-smiley\" src=\"wp-includes\/images\/smilies\/icon_smile.gif\" alt=\":-)\" \/><br \/>\nthe nl pin (pb7) is lo aktiv but the used adress latch (74573) needs a high aktiv signal. and i didn\u2019t find a way to switch the polarity by software. so i used the 7404 as an inverter (the other 5 gates are unused) but it must be a very fast one because of the fast timing from the fsmc-bus. and DONT DO THIS WORK !\u2026keep your life simple and buy a STM32F429 DISCO <img decoding=\"async\" class=\"wp-smiley\" src=\"wp-includes\/images\/smilies\/icon_smile.gif\" alt=\":-)\" \/><\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-2455\" class=\"comment even depth-3\">\n<div id=\"comment-2455\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/26d01ed6df61003d928f913404685a40?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\"><a class=\"url\" href=\"http:\/\/madeinepal.com\/\" rel=\"external nofollow\">mukhe<\/a><\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">10. November 2014 um 04:05<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>haha thanks for the advice!<\/p>\n<p>The problem is that currently our project is based on the stm32f407 micro-controller. I was unaware that the board used a 100 pin package and so forth did not have the full FSMC pins. The only way i see now is that i go ahead with your configuration and make it work. I will have the same setup but will be using a IS61WV102416BLL 2MB SRAM instead.<\/p>\n<p>By fast you mean how fast? what is the baseline through which i can make the selection? should i just go ahead with the same inverter you used in your diagram?<\/p>\n<p>I will have a look at the FSMC in the datasheet as well.<\/p>\n<p>Thanks a lot!<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-2593\" class=\"comment odd alt thread-odd thread-alt depth-1\">\n<div id=\"comment-2593\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/26d01ed6df61003d928f913404685a40?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\"><a class=\"url\" href=\"http:\/\/madeinepal.com\/\" rel=\"external nofollow\">mukhe<\/a><\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">1. Dezember 2014 um 09:37<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hey there again,<br \/>\nyou mention that R50 has to be removed? you mean literally desolder it?<\/p>\n<p>thanks<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-2594\" class=\"comment even depth-2\">\n<div id=\"comment-2594\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/26d01ed6df61003d928f913404685a40?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\"><a class=\"url\" href=\"http:\/\/madeinepal.com\/\" rel=\"external nofollow\">mukhe<\/a><\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">1. Dezember 2014 um 11:14<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>And one more question!<br \/>\nWhen you say this:<\/p>\n<p>[\/\/ Note: These two files must be on 8MHz<br \/>\n\/\/ &#8222;Cmsis_boot \/ stm32f4xx.h&#8220;<br \/>\n\/\/ &#8222;Cmsis_boot \/ system_stm32f4xx.c&#8220;]<\/p>\n<p>Do you mean that the whole system should be clocked at 8MHz? why is this so?<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-2596\" class=\"comment byuser comment-author-admin_ub bypostauthor odd alt depth-3\">\n<div id=\"comment-2596\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">1. Dezember 2014 um 12:41<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>the external crystal mounted on the discovery is 8MHz<br \/>\n(the cpu internal clock is 168MHz) the original files from ST<br \/>\n\u201cstm32f4xx.h\u201d and \u201csystem_stm32f4xx.c\u201d are written for a board with 25MHz crystal. The user has to change these two files to work correctly with an 8 MHz crystal. i have allready done this in all my librarys and projekts and the remark text is only a info for the user to think about.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-2595\" class=\"comment byuser comment-author-admin_ub bypostauthor even depth-2\">\n<div id=\"comment-2595\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">1. Dezember 2014 um 12:32<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Because PD5 is connected to an output pin from U6 (STMPS2141). And the Library uses PD5 also as output. to avoid a shortcut if both outputs drives an opposite signal you have to remove R50 from the discovery board.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-2603\" class=\"comment odd alt depth-3\">\n<div id=\"comment-2603\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/26d01ed6df61003d928f913404685a40?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\"><a class=\"url\" href=\"http:\/\/madeinepal.com\/\" rel=\"external nofollow\">mukhe<\/a><\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">2. Dezember 2014 um 03:27<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Thanks, changed the values of HSE and PLL_M to 8MHz and 8 respectively.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-2606\" class=\"comment even thread-even depth-1\">\n<div id=\"comment-2606\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/26d01ed6df61003d928f913404685a40?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\"><a class=\"url\" href=\"http:\/\/madeinepal.com\/\" rel=\"external nofollow\">mukhe<\/a><\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">2. Dezember 2014 um 10:03<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>OK, i am back again<\/p>\n<p>I am using an IS61WV102416BLL 1M*16 SRAM which has extra A18 and A19 pins that need to be connected as well. What I realized was that PD13 of FSMC A18 port conflicts with the orange LED. I checked to see if other pins are free too but unfortunately they are all taken by other FSMC ports.<\/p>\n<p>Now my question is, can i just not connect A18 and A19 and still make it work? Will there be an issue? I could test the system out straight, but I like to know if its technically possible in the first place<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-2612\" class=\"comment byuser comment-author-admin_ub bypostauthor odd alt depth-2\">\n<div id=\"comment-2612\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">2. Dezember 2014 um 18:31<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>you can use both pins the leds dont care.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-2626\" class=\"comment even depth-3\">\n<div id=\"comment-2626\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/26d01ed6df61003d928f913404685a40?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\"><a class=\"url\" href=\"http:\/\/madeinepal.com\/\" rel=\"external nofollow\">mukhe<\/a><\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">3. Dezember 2014 um 18:03<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>thanks<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-2751\" class=\"comment odd alt thread-odd thread-alt depth-1\">\n<div id=\"comment-2751\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/26d01ed6df61003d928f913404685a40?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\"><a class=\"url\" href=\"http:\/\/madeinepal.com\/\" rel=\"external nofollow\">mukhe<\/a><\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">19. Dezember 2014 um 05:16<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hi there,<\/p>\n<p>I realized that the FSMC_DataAddressMux has been Enabled, I would like to know why you did so.<\/p>\n<p>and also the FSMC_MemoryType has been defined as NOR and not SRAM, would you please clarify this?<\/p>\n<p>Danke<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-2753\" class=\"comment even depth-2\">\n<div id=\"comment-2753\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/26d01ed6df61003d928f913404685a40?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\"><a class=\"url\" href=\"http:\/\/madeinepal.com\/\" rel=\"external nofollow\">mukhe<\/a><\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">20. Dezember 2014 um 04:04<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>I see you multiplexed it,<br \/>\ngot my answers thanks!<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-2755\" class=\"comment byuser comment-author-admin_ub bypostauthor odd alt depth-3\">\n<div id=\"comment-2755\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">20. Dezember 2014 um 10:06<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Yes, on the Disco-Board with the small CPU Package there are no Adress Signals A0 \u2013 A15 so you have to multiplex it. And the Memory Type is also a \u201cfree GPIO Pin\u201d Problem workaround.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-2763\" class=\"comment even depth-4\">\n<div id=\"comment-2763\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/26d01ed6df61003d928f913404685a40?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\"><a class=\"url\" href=\"http:\/\/madeinepal.com\/\" rel=\"external nofollow\">mukhe<\/a><\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">23. Dezember 2014 um 12:12<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Ok,i gave up on the project. somehow the FSMC upper bits data output values are incorrect. the lower bits are just fine.<\/p>\n<p>I went ahead and bought the stm32f429 disco board. Should have listened to you earlier haha<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-3085\" class=\"comment odd alt thread-even depth-1\">\n<div id=\"comment-3085\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/dcbd84ba6f6cef5c7941b14bbd8c3d7b?s=40&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Manuel Rue\u00df<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">6. April 2015 um 13:44<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hallo,<br \/>\nhab da eine Frage zu der FSMC-Schnittstelle.<br \/>\nIch verwende einen STM32F405 mit 144 Pin und einen SRAM(IS61LV5128AL) mit 512k x 8bit. Ich kann mehrmals hintereinander Bytes in den SRAM schreiben oder aber auch lesen und schreiben von Bytes im Wechsel.<br \/>\nDoch nur wenn ich mehrmals hintereinander Bytes aus dem SRAM lesen will, wird mir M\u00fcll ausgelesen.<\/p>\n<p>Das Problem hab ich im manuellen Betrieb, also mit Hilfe der write \/ read Funktion, gel\u00f6st indem ich den OE Pin wieder nach einer read Funktion auf high gesetzt habe.<br \/>\nDoch da ich jetzt mir eine Section im Linker Script erstellt habe und das nun automatisch funktioniert, w\u00fcsste ich nicht wie ich das beheben kann.<\/p>\n<p>H\u00e4tten Sie mir da ein paar Tipps \/ L\u00f6sungsvorschl\u00e4ge?<\/p>\n<p>Gr\u00fc\u00dfe<\/p>\n<p>Manu<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-3086\" class=\"comment byuser comment-author-admin_ub bypostauthor even depth-2\">\n<div id=\"comment-3086\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">6. April 2015 um 14:45<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>stimmt das Timing mit dem vom Datasheet vom RAM \u00fcberein ?<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-3087\" class=\"comment odd alt depth-3\">\n<div id=\"comment-3087\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/dcbd84ba6f6cef5c7941b14bbd8c3d7b?s=40&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Manuel Rue\u00df<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">6. April 2015 um 16:27<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Ich hab Extended Mode Enable und verwende Mode A.<br \/>\nBei Mode A muss ich ja nur AST, DST und BusTurn einstellen.<br \/>\nDaf\u00fcr hab ich dann AST, DST auf 1 und BusTurn auf 0.<\/p>\n<p>Wobei ich aber sagen muss, dass ich nicht weis was mit BusTurn gemeint ist bzw. was der NEx Pin sein soll. (aus dem Daenblatt: Time between NEx high to NEx low)<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-3108\" class=\"comment byuser comment-author-admin_ub bypostauthor even depth-4\">\n<div id=\"comment-3108\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">12. April 2015 um 14:44<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>bei meinem fliegenden Aufbau funktionieren so kleine Werte gar nicht. Versuch mal zuerst extrem gro\u00dfe Werte<br \/>\nAST=15, DST=15, AHT=15 und pr\u00fcfe ob es damit geht.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Um ein externes SRAM an das STM32F4-Discovery-Board anzuschlie\u00dfen, habe ich eine Lochrasterkarte als Basisboard benutzt und dort das SRAM und die Zusatzbeschaltung draufgel\u00f6tet. Wichtig !! wegen einer Doppelbelegung von Pin PD5 sollte der 0 Ohm Widerstand R50 auf dem Discovery-Board &hellip; <a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/stm32f4\/komplette-library-liste-stm32f4\/50-sram-library-stm32f4\/\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":144,"menu_order":50,"comment_status":"open","ping_status":"closed","template":"","meta":{"footnotes":""},"categories":[128],"tags":[9,198,7],"class_list":["post-428","page","type-page","status-publish","hentry","category-stm32f4","tag-library","tag-sram","tag-stm32f4"],"_links":{"self":[{"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages\/428","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/comments?post=428"}],"version-history":[{"count":4,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages\/428\/revisions"}],"predecessor-version":[{"id":1794,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages\/428\/revisions\/1794"}],"up":[{"embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages\/144"}],"wp:attachment":[{"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/media?parent=428"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/categories?post=428"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/tags?post=428"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}