{"id":138,"date":"2017-11-22T00:32:23","date_gmt":"2017-11-21T23:32:23","guid":{"rendered":"http:\/\/mikrocontroller.bplaced.net\/wordpress\/?page_id=138"},"modified":"2021-06-10T22:21:46","modified_gmt":"2021-06-10T20:21:46","slug":"grundsaetzliches-zur-coocox-ide","status":"publish","type":"page","link":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/stm32f4\/grundsaetzliches-zur-coocox-ide\/","title":{"rendered":"Grunds\u00e4tzliches zur CooCox-IDE"},"content":{"rendered":"<p><div id=\"nav-below\" class=\"navigation\"><div class=\"nav-previous\"><a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/stm32f4\/stm32f4-und-bootloader\/\" title=\"STM32F4 und Bootloader\"><span class=\"meta-nav\">\u2190<\/span> STM32F4 und Bootloader<\/a><\/div><\/div><!-- #nav-below --><div id=\"nav-below\" class=\"navigation\"><div class=\"nav-next\"><a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/stm32f4\/pc-programme-von-uwe\/\" title=\"PC-Programme von Uwe\">PC-Programme von Uwe <span class=\"meta-nav\">&rarr;<\/span><\/a><\/div><\/div><!-- #nav-below --><\/p>\n<p>Hier ein paar Grunds\u00e4tzliche Sachen die man beim benutzen der CooCox-IDE beachten sollte.<\/p>\n<p><span style=\"color: #ff0000;\">Hinweis<\/span> : meine Librarys vom STM32F4 bauen auf den \u201cstandard peripherals\u201d von ST auf.<br \/>\nDazu ist <a href=\"https:\/\/www.softpedia.com\/get\/Programming\/Coding-languages-Compilers\/CooCox-CoIDE.shtml\" target=\"_blank\" rel=\"noopener noreferrer\">CoIDE Version V:1.7.8<\/a>\u00a0notwenig (nicht die Beta V:2.x.x).<br \/>\nAlternativer Downloadlink bei <a href=\"https:\/\/web.archive.org\/web\/20160320135947\/http:\/\/www.coocox.org\/download\/Tools\/CoIDE-1.7.8.exe\" target=\"_blank\" rel=\"noopener\">web.archive.org<\/a>.<\/p>\n<p><a href=\"#G01\">1. Falsche externe Quarz-Einstellung<\/a><br \/>\n<a href=\"#G02\">2. Fehlende Initialisierung vom System-Clock<\/a><br \/>\n<a href=\"#G03\">3. Test der Clock Einstellung<\/a><br \/>\n<a href=\"#G04\">4. Vorlagen f\u00fcr Main.c und Main.h<\/a><br \/>\n<a href=\"#G05\">5. Einbinden von neuen Librarys<\/a><br \/>\n<a href=\"#G06\">6. Debug Ausgabe direkt \u00fcber die IDE (ohne UART)<\/a><\/p>\n<p><a name=\"G01\"><\/a><strong>1. Falsche externe Quarz-Einstellung :<\/strong><\/p>\n<p>Beim erstellen eines neuen Projektes mit CooCox werden automatisch einige Files in den eigenen Projektordner kopiert. Diese Files sind f\u00fcr den Bootvorgang und die Starteinstellungen der STM32F4 CPU notwendig.<\/p>\n<p>Jetzt ist es leider so, das bei den original Files von CooCox von einem externer Quarz mit 25MHz ausgegangen wird. Auf dem SMT32F4-Dicovery-Board ist aber nur ein 8MHz Quarz eingebaut. Mit diesen Einstellungen l\u00e4uft die CPU damit langsamer als gew\u00fcnscht.<\/p>\n<p>Um dieses Problem zu beheben, kann man jetzt etweder jedesmal nach dem erstellen von einem Projekt die entsprechenden Files anpassen (bzw ersetzen). Oder man \u00fcberschreibt einmal die original Files von der CooCox Installation und bekommt dann automatisch jedesmal bei einem neuen Projekt die richtigen Einstellungen.<\/p>\n<p>Hier die zwei Files um die es geht im eigenen Projekteordner :<\/p>\n<pre lang=\"c\" line=\"1\">cmsis_boot\/stm32f4xx.h\r\ncmsis_boot\/system_stm32f4xx.c<\/pre>\n<p>diese werden beim erstellen eines Projektes aus diesem Pfad kopiert :<\/p>\n<pre lang=\"c\" line=\"1\">C:\\CooCox\\CoIDE\\repo\\Components\\500_CMSIS BOOT\\src\\cmsis_boot\\<\/pre>\n<p>hier sind die zwei abge\u00e4nderten Files mit der Einstellung auf 8Mhz externem Quarz :<\/p>\n<p><a href=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2013\/02\/stm32f4_8MHz.zip\">stm32f4_8MHz<\/a><\/p>\n<p><a name=\"G02\"><\/a><strong>2. Fehlende Initialisierung vom Systemclock :<\/strong><\/p>\n<p>Ein zweiter \u201cFehler\u201d der CooCox standard Files ist, das die CPU nach dem booten mit dem internen 16MHz Quarz arbeitet \u201cHSI\u201d und nicht auf den externen Quarz mit PLL umgeschaltet wird \u201cPLL\u201d.<\/p>\n<p>Um das zu umgehen, muss in der \u201cMain.c\u201d diese Funktion gestartet werden :<\/p>\n<pre lang=\"c\" line=\"1\">SystemInit();<\/pre>\n<p>damit wird der Systemclock umgestellt und die CPU l\u00e4uft danach mit 168MHz.<\/p>\n<p><a name=\"G03\"><\/a><strong>3. Test der Clock Einstellung :<\/strong><\/p>\n<p>Ob der Clock richtig eingestellt ist, kann man testen, indem man den Systemclock<br \/>\nam Pin PC9 per Oszi nachmisst. Hier ein St\u00fcck Code damit an PC9 der Sysclock ausgegeben wird :<\/p>\n<pre lang=\"c\" line=\"1\">void check_sysclock(void) {\r\n  GPIO_InitTypeDef  GPIO_InitStructure;\r\n\r\n  \/\/ Clock Enable\r\n  RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC, ENABLE);\r\n\r\n  \/\/ Config PC9 (MCO2) als AF\r\n  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;\r\n  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;\r\n  GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;\r\n  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;\r\n  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;\r\n  GPIO_Init(GPIOC, &amp;GPIO_InitStructure);\r\n\r\n  \/\/ Sysclock an PC9 ausgeben\r\n  RCC_MCO2Config(RCC_MCO2Source_SYSCLK, RCC_MCO2Div_1);\r\n  GPIO_PinAFConfig(GPIOC, GPIO_PinSource9, GPIO_AF_MCO);\r\n}\r\n<\/pre>\n<p>nach dem Aufruf der Funktion muss an PC9 ein 168MHz Signal liegen.<br \/>\nDann ist alles Ok. (falls euer Oszi nicht so hoch messen kann einfach den<br \/>\nVorteilerwert \u201cRCC_MCO2Div_1\u2033 ab\u00e4ndern.<\/p>\n<p><a name=\"G04\"><\/a><strong>4. Vorlage f\u00fcr \u201cMain.c\u201d und \u201cMain.h\u201d :<\/strong><\/p>\n<p>Ich habe mir f\u00fcr das \u201cMain.c\u201d und \u201cMain.h\u201d File eine Vorlage erstellt, die ich immer bei einem neuen Projekt benutze.<\/p>\n<p>Das \u201cMain.c\u201d sieht so aus :<\/p>\n<pre lang=\"c\" line=\"1\">\/\/--------------------------------------------------------------\r\n\/\/ File     : main.c\r\n\/\/ Datum    : 01.01.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 : Hauptprogramm\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\r\nint main(void)\r\n{\r\n  SystemInit(); \/\/ Quarz Einstellungen aktivieren\r\n\r\n  while(1)\r\n  {\r\n\r\n  }\r\n}\r\n<\/pre>\n<p>und das \u201cMain.h\u201d sieht so aus :<\/p>\n<pre lang=\"c\" line=\"1\">\/\/--------------------------------------------------------------\r\n\/\/ File     : main.h\r\n\/\/--------------------------------------------------------------\r\n\r\n\/\/--------------------------------------------------------------\r\n#ifndef __STM32F4_UB_MAIN_H\r\n#define __STM32F4_UB_MAIN_H\r\n\r\n\/\/--------------------------------------------------------------\r\n\/\/ Includes\r\n\/\/--------------------------------------------------------------\r\n#include \"stm32f4xx.h\"\r\n\r\n\/\/--------------------------------------------------------------\r\n#endif \/\/ __STM32F4_UB_MAIN_H\r\n<\/pre>\n<p>Beide Files sind hier als ZIP :<\/p>\n<p><a href=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2013\/02\/Main.zip\">Main<\/a><\/p>\n<p><a name=\"G05\"><\/a><strong>5. Einbinden von neuen Librarys :<\/strong><\/p>\n<p>Damit der Quellcode durch eigene Librarys (bzw. die Librarys von diesen Seiten) \u00fcbersichtlich bleibt, hab ich mir folgende Vorgehensweise angew\u00f6hnt.<\/p>\n<p>Nach dem anlegen eines neuen Projektes, erstelle ich im Projekteordner einen neuen Unterordner z.B. mit dem Namen \u201cub_lib\u201d (siehe Bild)<\/p>\n<div id=\"attachment_121\" class=\"wp-caption alignnone\" style=\"width: 310px;\">\n<p><a href=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2013\/02\/lib_ub1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-121\" style=\"border: 1px solid black;\" title=\"Projekt mit &quot;ub_lib&quot; Unterordner\" src=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2013\/02\/lib_ub1-300x109.jpg\" alt=\"lib_ub1\" width=\"300\" height=\"109\" \/><\/a><\/p>\n<p class=\"wp-caption-text\">Projekt mit \u201cub_lib\u201d Unterordner<\/p>\n<\/div>\n<p>Dorthinein kopiere ich alle Library C- und H-Files die ich benutzen will. Am Beispiel der LED-Library sieht das dann so aus :<\/p>\n<div id=\"attachment_122\" class=\"wp-caption alignnone\" style=\"width: 310px;\">\n<p><a href=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2013\/02\/lib_ub2.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-122\" style=\"border: 1px solid black;\" title=\"Inhalt von &quot;ub_lib&quot;\" src=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2013\/02\/lib_ub2-300x76.jpg\" alt=\"lib_ub2\" width=\"300\" height=\"76\" \/><\/a><\/p>\n<p class=\"wp-caption-text\">Inhalt von \u201cub_lib\u201d<\/p>\n<\/div>\n<p>Die Files von diesem Unterordner m\u00fcssen dann noch bei CoIDE hinzugef\u00fcgt werden. Auch hier erstelle ich zuerst einen neuen Unterordner per rechter Maustaste und \u201cAdd Group\u201d und wieder dem Namen \u201cub_lib\u201d<\/p>\n<div id=\"attachment_123\" class=\"wp-caption alignnone\" style=\"width: 218px;\">\n<p><a href=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2013\/02\/lib_ub3.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-123\" style=\"border: 1px solid black;\" title=\"Unterordner &quot;ub_lib&quot; in CoIDE\" src=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2013\/02\/lib_ub3-208x300.jpg\" alt=\"lib_ub3\" width=\"208\" height=\"300\" \/><\/a><\/p>\n<p class=\"wp-caption-text\">Unterordner \u201cub_lib\u201d in CoIDE<\/p>\n<\/div>\n<p>Und dann mit rechter Maustaste und \u201cAdd Files\u201d die Files aus dem Unterordner hinzuf\u00fcgen.<\/p>\n<div id=\"attachment_124\" class=\"wp-caption alignnone\" style=\"width: 232px;\">\n<p><a href=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2013\/02\/lib_ub4.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-124\" style=\"border: 1px solid black;\" title=\"Hinzugef\u00fcgte Files\" src=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2013\/02\/lib_ub4-222x300.jpg\" alt=\"lib_ub4\" width=\"222\" height=\"300\" \/><\/a><\/p>\n<p class=\"wp-caption-text\">Hinzugef\u00fcgte Files<\/p>\n<\/div>\n<p>So bleibt der Projektordner aufger\u00e4umt und \u00fcbersichtlich.<br \/>\nUm die Funktionen der LED-Library im Main benutzen zu k\u00f6nnen ,<br \/>\nmuss nat\u00fcrlich noch diese Zeile im Main.c Kopf eingef\u00fcgt werden :<\/p>\n<pre lang=\"c\" line=\"1\">#include \"stm32_ub_led.h\"\r\n<\/pre>\n<p><a name=\"G06\"><\/a><strong>6. Debug Ausgabe direkt \u00fcber die IDE (ohne UART) :<\/strong><\/p>\n<p>Wer f\u00fcr Debug-Zwecke ein \u201cprintf\u201d braucht und keine extra UART<br \/>\nund Kabel benutzen will, kann seine Ausgaben auch direkt \u00fcber CoIDE<br \/>\nanzeigen lassen.<\/p>\n<p>Ich gehe mal von einem neuen (leeren) Projekt aus (nur mit GPIO) :<\/p>\n<p><a href=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2015\/01\/dbg_01.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-4653\" src=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2015\/01\/dbg_01-300x214.jpg\" alt=\"dbg_01\" width=\"300\" height=\"214\" \/><\/a><\/p>\n<p>Als erstes muss \u201cSemihosting\u201d \u00fcber die \u201cRepository\u201d von CoIDE hinzugef\u00fcgt werden :<\/p>\n<p><a href=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2015\/01\/dbg_02.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-4656\" src=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2015\/01\/dbg_02-300x141.jpg\" alt=\"dbg_02\" width=\"300\" height=\"141\" \/><\/a><\/p>\n<p>CoIDE aktiviert automatisch noch zus\u00e4tzlich \u201cC-Library\u201d und \u201cretarget printf\u201d<\/p>\n<p><a href=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2015\/01\/dbg_03.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-4657\" src=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2015\/01\/dbg_03-300x178.jpg\" alt=\"dbg_03\" width=\"300\" height=\"178\" \/><\/a><\/p>\n<p>Jetzt muss in der \u201cConfiguration\u201d unter \u201cDebugger\u201d das \u201cSemihosting\u201d<br \/>\nnoch freigegeben werden :<\/p>\n<p><a href=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2015\/01\/dbg_04.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-4659\" src=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2015\/01\/dbg_04-300x131.jpg\" alt=\"dbg_04\" width=\"300\" height=\"131\" \/><\/a><\/p>\n<p>Bei der Ausgabe gibt es jetzt zwei M\u00f6glichkeiten.<br \/>\nWem einfache Texte (ohne Variablenausgabe) reichen,<br \/>\nf\u00fcgt einfach einen Include ein und kann dann direkt die Funktion<br \/>\n\u201cSH_SendString\u201d benutzen :<\/p>\n<p><a href=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2015\/01\/dbg_05.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-4664\" src=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2015\/01\/dbg_05-300x175.jpg\" alt=\"dbg_05\" width=\"300\" height=\"175\" \/><\/a><\/p>\n<p>Variabeln und Zahlen m\u00fcssen in diesem Fall per \u201csprintf\u201d<br \/>\nzuvor in einen String umgewandelt werden.<\/p>\n<p>Wem das zu Umst\u00e4ndlich ist, kann folgendes machen :<br \/>\n1. Das File \u201cprintf.c\u201d \u00f6ffnen, das im eigenen Projektordner liegt<br \/>\n2. ganz oben den include von \u201csemihosting.h\u201d hinzuf\u00fcgen<br \/>\n3. in der Funktion \u201cPrintChar\u201d den Aufruf \u201cSH_SendChar\u201d einf\u00fcgen<\/p>\n<p><a href=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2015\/01\/dbg_06.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-4665\" src=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2015\/01\/dbg_06-300x193.jpg\" alt=\"dbg_06\" width=\"300\" height=\"193\" \/><\/a><\/p>\n<p>Jetzt kann im eigenen Programm durch einen Include<br \/>\ndie normale \u201cprintf\u201d Funktion mit Parameter\u00fcbergabe<br \/>\nbenutzt werden :<\/p>\n<p><a href=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2015\/01\/dbg_07.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-4667\" src=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2015\/01\/dbg_07-300x221.jpg\" alt=\"dbg_07\" width=\"300\" height=\"221\" \/><\/a><\/p>\n<p>Das eigentliche Anzeigen der Debug-Ausgabe funktioniert dann<br \/>\nindem man das Programm per \u201cF5 = StartDebug\u201d laufen l\u00e4sst<br \/>\nund sich rechts unten die Registerkarte \u201cSemihosting\u201d anzeigen l\u00e4sst :<\/p>\n<p><a href=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2015\/01\/dbg_08.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-4671\" src=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2015\/01\/dbg_08-300x278.jpg\" alt=\"dbg_08\" width=\"300\" height=\"278\" \/><\/a><\/p>\n<p>Eine einfache Eingabe \u00fcber den PC funktioniert auch,<br \/>\nindem man mit der Funktion \u201cSH_GetChar\u201d einzelnde Zeichen<br \/>\nvom User \u00fcber die Tastatur abholen kann :<br \/>\n(die Taste \u201cReturn\u201d muss nach der Eingabe vom Zeichen gedr\u00fcckt werden)<\/p>\n<p><a href=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2015\/01\/dbg_09.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-4673\" src=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2015\/01\/dbg_09-300x251.jpg\" alt=\"dbg_09\" width=\"300\" height=\"251\" \/><\/a><\/p>\n<hr \/>\n<h3 id=\"comments-title\">23 Antworten auf <em>Grunds\u00e4tzliches zur CooCox-IDE<\/em><\/h3>\n<ol class=\"commentlist\">\n<li id=\"li-comment-709\" class=\"comment even thread-even depth-1\">\n<div id=\"comment-709\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/182b17fe3d52e5f5a0112d943a605cf4?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\">ruphy<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">30. Juli 2013 um 14:04<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Kann es sein, dass man bei Coocox nicht zwei Projekte gleichzeitig offen haben kann? Ich habe mehrere unterschiedliche Projekte. Ab und zu mache ich sowas wie eine sicherheits kopie, ich kopiere den Ordner und schreibe weiteren Code. Manchmal will ich aber aus einem Projekt geschriebenen Code kopieren. Die Schwierigkeit hier ist zwischen den Projekten hin und her zu wechseln. Kannst du mir ein Tipp geben?<\/p>\n<p>Gru\u00df<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-710\" class=\"comment byuser comment-author-admin_ub bypostauthor odd alt depth-2\">\n<div id=\"comment-710\">\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\">30. Juli 2013 um 18:29<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Bei CoIDE kann immer nur ein Projekt ge\u00f6ffnet sein. Aber du kannst einzelne Files per \u201cFile\/Open file\u2026\u201d zus\u00e4tzlich \u00f6ffnen. Diese werden dann nicht in das Projekt hinzugelinkt du kannst sie aber trotzdem bearbeiten (also Copy\/Paste usw). Vielleicht reicht dir das ja.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<li id=\"li-comment-2873\" class=\"comment even depth-2\">\n<div id=\"comment-2873\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/b2b0b82f80a9733557fde98d15b989f3?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\">Erat<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">27. Januar 2015 um 11:38<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Es gibt Abhilfe in Form eines einfachen Hacks: L\u00f6sche einfach die Datei<br \/>\nC:\\CooCox\\CoIDE\\configuration\\ProgramData\\.singleton_coide<br \/>\nnach dem Start der ersten Instanz, dann kannst Du eine zweite aufmachen.<\/p>\n<p>Von den Autoren wurde mal in Aussicht gestellt, sie w\u00fcrden in Version 2 wieder mehrere Instanzen erlauben, aber ich hab die aktuelle Beta der Version 2 noch nicht ausprobieren wollen.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-711\" class=\"comment odd alt thread-odd thread-alt depth-1\">\n<div id=\"comment-711\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/6dfa9e14d05a8decad6317a81e792f55?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\">Kai<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">31. Juli 2013 um 11:43<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hallo,<\/p>\n<p>ich muss vor die SystemInit() Funktion noch die Funktion init() aufrufen. Mache ich das nicht, bleibt die LED dunkel. Ich habe das LED Blinkbeispiel von dieser Seite genommen und einfach die SystemInit eingef\u00fcgt.<\/p>\n<p>Gru\u00df<br \/>\nKai<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-712\" class=\"comment byuser comment-author-admin_ub bypostauthor even depth-2\">\n<div id=\"comment-712\">\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\">31. Juli 2013 um 17:41<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>das Blinkbeispiel von welcher Seite ? \u2026 auf dieser Seite hier geht es nur um die Einstellungen f\u00fcr die CooCox-IDE.<br \/>\nEine Funktion \u201cinit()\u201d gibt es nicht, du meinst wahrscheinlich \u201cUB_Led_Init()\u201d und ein komplettes Beispiel daf\u00fcr steht auch online.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-713\" class=\"comment odd alt thread-even depth-1\">\n<div id=\"comment-713\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/6dfa9e14d05a8decad6317a81e792f55?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\">Kai<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">1. August 2013 um 13:01<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Ich habe das Beispiel von der Seite \u201cInstallation der Toolchain und erstes Projekt\u201d verwendet und meinen Fehler schon gesehen (man ist mir das peinlich). Die dortige init Funktion initialisiert die LED Ports.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-714\" class=\"comment byuser comment-author-admin_ub bypostauthor even depth-2\">\n<div id=\"comment-714\">\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. August 2013 um 18:20<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Ist doch kein Problem. Nur durch Fehler machen, finden und beseitigen kann man was lernen.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-1228\" class=\"comment odd alt thread-odd thread-alt depth-1\">\n<div id=\"comment-1228\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/389cf78cf94e9e0b8ef53398fdecf172?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\"><a class=\"url\" href=\"http:\/\/192kbinternesramnutzen\/\" rel=\"external nofollow\">Markus<\/a><\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">30. Dezember 2013 um 11:52<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hallo,<\/p>\n<p>erstmal danke f\u00fcr die ganzen Beispiele.<br \/>\nWie kann man die ganzen 192 KB interne SRAM des F407 nutzen und draufzugreifen?<\/p>\n<p>Danke, Markus<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-1232\" class=\"comment byuser comment-author-admin_ub bypostauthor even depth-2\">\n<div id=\"comment-1232\">\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\">31. Dezember 2013 um 11:13<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Im Linker script von CoIDE ist der komplette RAM-Bereich von 192k eingetragen. Aufgeteilt in zwei Bl\u00f6cke : \u201cram=128k\u201d und \u201cram1=64k\u201d. Undefinierte Variabeln landen im 128k Block. Um eine Variable in den 64k Block zu legen musst du das dem linker sagen :<\/p>\n<pre class=\"brush: plain; title: ; notranslate\">uint32_t buffer[10] __attribute__((section(\".ram1\")));\r\n<\/pre>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-1251\" class=\"comment odd alt thread-even depth-1\">\n<div id=\"comment-1251\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/6dfa9e14d05a8decad6317a81e792f55?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\">kai<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">7. Januar 2014 um 15:00<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hallo,<br \/>\nkann man mit der CooCox den Code auch aus dem RAM heraus laufen lassen?<br \/>\nIst das notwendig? Mich w\u00fcrde interessieren ob das sinnvoll ist. Da ich ziemlich viel am flashen bin, weil ich viel herumexperimentiere ohne konkretes Ziel, habe ich etwas bedenken, dass ich die 10000 Schreibzyklen schnell erreiche. Ich habe bereits eine Anfrage in einem Forum gestellt und einen Link geschickt bekommen. Leider bezieht sich dieser nicht auf CooCox. Deshalb wollte ich hier einmal nachfragen.<\/p>\n<p>Gru\u00df<br \/>\nKai<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-1252\" class=\"comment byuser comment-author-admin_ub bypostauthor even depth-2\">\n<div id=\"comment-1252\">\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. Januar 2014 um 18:54<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>also ich programmiere auch viel und mach mir dar\u00fcber gar keine Gedanken. Aber du kannst bei CoIDE unter \u201cConfiguration\/Link\u201d auf den Punkt \u201cDebug in RAM\u201d umstellen. Dann nach dem compilieren nicht \u201cdownload code to flash\u201d sondern mit \u201cstart debug\u201d das Programm starten. Aber dazu muss das auch ins RAM passen <img decoding=\"async\" class=\"wp-smiley\" src=\"wp-includes\/images\/smilies\/icon_smile.gif\" alt=\":-)\" \/> . Einfacher ist, nach jedem Tag den du programmiert hast 10 Cent in ein Glas zu werfen, wenn das Flash defekt ist, hast du genug Geld f\u00fcr ein neues Disco-Board.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-1253\" class=\"comment odd alt thread-odd thread-alt depth-1\">\n<div id=\"comment-1253\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/6dfa9e14d05a8decad6317a81e792f55?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\">kai<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">8. Januar 2014 um 01:39<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hast du denn noch keine Probleme gehabt, mit den Schreibzyklen, seitdem Du das STM32F4 Discovery hast?<br \/>\nIch habe das mit dem Debug ausprobiert. Das Programm wird zwar ausgef\u00fchrt, allerdings wenn ich \u00c4nderungen am Code mache und dann kompiliere und dann debug dr\u00fccke \u00fcbernimmt er irgendwie nicht die \u00c4nderungen, die ich gemacht habe, sondern f\u00fchrt irgendwie die Version, die vorher gebrannt wurde.<br \/>\nMache ich was falsch?<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<li id=\"li-comment-1254\" class=\"comment even thread-even depth-1\">\n<div id=\"comment-1254\">\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<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">9. Januar 2014 um 18:15<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Ich habe noch nie von Problemen damit geh\u00f6rt. Du wirst bei 10 Cent pro Tag wohl bei einen luxuri\u00f6seren Board als beim F4 Disc. landen <img decoding=\"async\" class=\"wp-smiley\" src=\"wp-includes\/images\/smilies\/icon_wink.gif\" alt=\";)\" \/><\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-1255\" class=\"comment odd alt depth-2\">\n<div id=\"comment-1255\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/6dfa9e14d05a8decad6317a81e792f55?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\">kai<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">10. Januar 2014 um 07:53<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Ok, alles klar. Habe auch schon 20 Cent.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-2106\" class=\"comment even thread-odd thread-alt depth-1\">\n<div id=\"comment-2106\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/3ba790f2c0d8ccdce007d213e630681b?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\">Thamanoon<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">2. September 2014 um 07:27<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hi<br \/>\nThank you for all examples.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<li id=\"li-comment-3078\" class=\"comment odd alt thread-even depth-1\">\n<div id=\"comment-3078\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/5da3fd1e432e7af78847cb37e2a32d6b?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\">Axel R. (DG1RTO)<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">4. April 2015 um 15:11<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Weil mir gerade zwei Dateien im Projekt \u201cabhanden\u201d gekommen sind\u2026<\/p>\n<p>zu 5.) <b> 5. Einbinden von neuen Librarys : <\/b><\/p>\n<p>Wirklich ERST die Datei im Explorer in den gew\u00fcnschten Pfad <i>kopieren<\/i><br \/>\nDANACH erst die Datei im Prjekt <i>adden<\/i>. Sonst gibt es kuddelmuddel, wenn ihr das Projekt auf einem anderen Rechner \u00f6ffnen wollt und die Datei vom Typ \u201clinked\u201d ist.<\/p>\n<p>Auch bei \u201cNEW FILE\u201d sollte man immer genau pr\u00fcfen, wo man sich in der Ordnerstruktur befindet.<br \/>\nAuf das man immer alle Dateien dabei hat, wenn man seinen Workspace zippt und \u201cmitnimmt\u201d. <img decoding=\"async\" class=\"wp-smiley\" src=\"wp-includes\/images\/smilies\/icon_smile.gif\" alt=\":)\" \/><\/p>\n<p>Viele Gr\u00fc\u00dfe und viel Spa\u00df<br \/>\nAxel DG1RTO<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<li id=\"li-comment-3972\" class=\"comment even thread-odd thread-alt depth-1\">\n<div id=\"comment-3972\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/ec5a88afbe0a34e26a54f56dddfb1ae7?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\">jay 2Go<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">23. Juli 2015 um 11:58<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hallo<\/p>\n<p>Habe eine Frage: Wenn ich eine C-File habe, muss ich um dieses zu Testen jedes Mal ein neues Projekt erstellen. Danke<\/p>\n<p>Gru\u00df<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-3976\" class=\"comment byuser comment-author-admin_ub bypostauthor odd alt depth-2\">\n<div id=\"comment-3976\">\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\">23. Juli 2015 um 17:23<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>ein C-File alleine kannst du nicht in die CPU flashen.<br \/>\nverstehe die Frage nicht ganz.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-4273\" class=\"comment even thread-even depth-1\">\n<div id=\"comment-4273\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/05260fe91b892ddb745b2d03e6f6cf7a?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\">Marcel<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">28. Oktober 2015 um 16:34<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Ich habe die CoIDEV2Beta installiert, gibt es zu dieser Version bekannte Bugs oder bekannte Probleme im Umgang mit dem STM32F407?<\/p>\n<p>Da es ja mit dem F429, nicht gerade kompatibel ist, au\u00dfer man verwendet die auf der Webseite aufgezeigten kniffe.<\/p>\n<p>Danke <img decoding=\"async\" class=\"wp-smiley\" src=\"wp-includes\/images\/smilies\/icon_wink.gif\" alt=\";)\" \/><\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-4282\" class=\"comment byuser comment-author-admin_ub bypostauthor odd alt depth-2\">\n<div id=\"comment-4282\">\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\">31. Oktober 2015 um 11:22<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>die Beta kenne ich nicht (aber Beta sagt ja eigentlich schon alles aus <img decoding=\"async\" class=\"wp-smiley\" src=\"wp-includes\/images\/smilies\/icon_smile.gif\" alt=\":-)\" \/><br \/>\nich w\u00fcrde Dir zur Version 1.7.8 raten, die unterst\u00fctzt auch den F429.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<li id=\"li-comment-4525\" class=\"comment even depth-2\">\n<div id=\"comment-4525\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/96df491a95b05898841f0285febb01e1?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\">Keiner<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">17. Januar 2016 um 20:51<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Achtung, Coocox 2 beta nutzt offenbar nicht mehr die Standard Peripheral Library sondern STM32Cube mit HAL -&gt; ohne \u00c4nderungen nicht kompatibel zu dem Code hier\u2026 Weiteres bei den Kommentaren zu STM32F429 hier: <a href=\"index907f.html?page_id=2708\" rel=\"nofollow\">http:\/\/mikrocontroller.bplaced.net\/wordpress\/?page_id=2708<\/a><\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-4526\" class=\"comment byuser comment-author-admin_ub bypostauthor odd alt depth-3\">\n<div id=\"comment-4526\">\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\">17. Januar 2016 um 21:27<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>ich habe deine Kommentare gel\u00f6scht, die Beschreibung kann abgek\u00fcrzt werden. Wer meine Librarys hier unter Coocox benutzen will, muss zwingen die CoIDE 1.7.8 installieren. Mit der Beta funktioniert es nicht.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-4545\" class=\"comment even thread-odd thread-alt depth-1\">\n<div id=\"comment-4545\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/e0d6fe76b57df72af3fc300acf637642?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\">Franz Seufert<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">26. Januar 2016 um 21:11<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Bedarf es bei der 1.7.8 immer noch dem hier gezeigten Linker Script oder wird der 429 nun voll unterst\u00fctzt wenn man ihn direkt ausw\u00e4hlt beim Anlegen eines Projekts?<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Hier ein paar Grunds\u00e4tzliche Sachen die man beim benutzen der CooCox-IDE beachten sollte. Hinweis : meine Librarys vom STM32F4 bauen auf den \u201cstandard peripherals\u201d von ST auf. Dazu ist CoIDE Version V:1.7.8\u00a0notwenig (nicht die Beta V:2.x.x). Alternativer Downloadlink bei web.archive.org. &hellip; <a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/stm32f4\/grundsaetzliches-zur-coocox-ide\/\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":57,"menu_order":6,"comment_status":"open","ping_status":"closed","template":"","meta":{"footnotes":""},"categories":[128],"tags":[81,7],"class_list":["post-138","page","type-page","status-publish","hentry","category-stm32f4","tag-coocox-ide","tag-stm32f4"],"_links":{"self":[{"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages\/138","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=138"}],"version-history":[{"count":7,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages\/138\/revisions"}],"predecessor-version":[{"id":3293,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages\/138\/revisions\/3293"}],"up":[{"embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages\/57"}],"wp:attachment":[{"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/media?parent=138"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/categories?post=138"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/tags?post=138"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}