{"id":3189,"date":"2009-11-05T12:40:33","date_gmt":"2009-11-05T11:40:33","guid":{"rendered":"http:\/\/www.article-marketing.eu\/comunicati\/senza-categoria\/bertos-la-vostra-prima-applicazione\/"},"modified":"2009-11-05T12:40:33","modified_gmt":"2009-11-05T11:40:33","slug":"bertos-la-vostra-prima-applicazione","status":"publish","type":"post","link":"https:\/\/www.article-marketing.eu\/comunicati\/computer\/opensource\/bertos-la-vostra-prima-applicazione\/","title":{"rendered":"BeRTOS: la vostra prima applicazione!"},"content":{"rendered":"<p><strong>Preparazione del progetto<\/strong><\/p>\n<p>Scarica BeRTOS e lancia il Wizard. Dal menu cfg seleziona debug<br \/>\nper includere automaticamente il supporto per il debug di BeRTOS.<br \/>\nSeleziona la porta di output corretta per la CPU e crea il progetto.<br \/>\nChiamiamo il progetto hello_world.<\/p>\n<p>Il Wizard crea la directory hello_world\/, in cui si trovano:<\/p>\n<ul>\n<li>bertos\/: i sorgenti completi di BeRTOS;\n<\/li>\n<li>Makefile: il makefile di tutto il progetto. Per compilare il progetto, lancia make;\n<\/li>\n<li>hello_world\/: la directory del progetto;\n<ul>\n<li>cfg\/: la directory con i file di configurazione;\n<\/li>\n<li>hw\/: file specifici per l&#8217;hardware;\n<\/li>\n<li>main.c: il file con il main();\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Coding<\/p>\n<p>Apri main.c e inserisci:<\/p>\n<p>#include &quot;buildrev.h&quot;<\/p>\n<p>#include &lt;cfg\/debug.h&gt;<\/p>\n<p>int main(void)<br \/>{<br \/>IRQ_ENABLE;<\/p>\n<p>kdbg_init();<br \/>kprintf(&quot;Program build: %dn&quot;, VERS_BUILD);<br \/>kputs(&quot;Hello world!n&quot;);<br \/>return ;<br \/>}<\/p>\n<p>Quindi compila il programma; ci saranno dei warning, ma per il<br \/>\nmomento possiamo ignorarli. Metti il firmware sulla scheda e resetta.<br \/>\nSulla seriale di debug ci saranno i messaggi:<\/p>\n<p>*** BeRTOS DBG START ***<br \/>Program build: 17<br \/>Hello world!<\/p>\n<p>Congratulazioni! Hai appena creato la tua prima applicazione con BeRTOS!<\/p>\n<p>Tutorial linea per linea<br \/>\n#include &lt;cfg\/debug.h&gt;<\/p>\n<p>La prima riga include i prototipi di funzione. Dal momento che<br \/>\nspesso viene inclusa in altri file, si pu\u00f2 omettere nei progetti pi\u00f9<br \/>\ngrandi.<\/p>\n<p>IRQ_ENABLE;<\/p>\n<p>Questa riga abilita gli IRQ sulla CPU. Non ne avremo bisogno in<br \/>\nquesto esempio, ma serve per quasi tutti gli altri moduli di BeRTOS,<br \/>\nquindi \u00e8 una buona abitudine includerlo.<\/p>\n<p>kdbg_init();<\/p>\n<p>Questa linea inizializza il sottosistema di debug, aprendo la<br \/>\nseriale di debug. I parametri di configurazione per la porta sono nel<br \/>\nfile hello_world\/cfg\/cfg_debug.h.<\/p>\n<p>kprintf(&quot;Program build: %dn&quot;, VERS_BUILD);<br \/>kputs(&quot;Hello world!n&quot;);<\/p>\n<p>Scrivono una stringa di debug sull&#8217;output. \u00c8 possibile usare una funzione simile a printf per formattare l&#8217;output. Tieni presente, per\u00f2, che printf introduce un alto delay, quindi usala con parsimonia.<\/p>\n<p>Per ridurre l&#8217;occupazione di memoria e uso di CPU, BeRTOS implementa vari tipi di formattazione con printf. \u00c8 possibile selezionarli modificando le opzioni in hello_world\/cfg\/cfg_formatwr.h.<br \/>\nRicordi i warning che sono usciti durante la prima compilazione? Sono<br \/>\ndovuti all&#8217;uso della formattazione completa su una CPU con poca<br \/>\npotenza. Per evitare questi warning puoi modificare le opzioni di<br \/>\nformattazione in PRINTF_NOFLOAT.<\/p>\n<p>Flash dell&#8217;immagine<\/p>\n<p>I file compilati sono messi nella directory images\/. Ci sono molti formati, per esempio .elf, .s19, .hex oppure .bin.<br \/>\nL&#8217;ultima versione di BeRTOS ha un&#8217;infrastruttura di flash e debug<br \/>\nintegrata nei makefile per semplificare queste operazioni ripetitive.<\/p>\n<p>Le operazioni da fare per flash e debug variano enormemente da CPU a<br \/>\nCPU, quindi devi scrivere uno script che faccia il flash del programma<br \/>\nsulla tua CPU. Per esempio, per AVR basta lanciare Avrdude oppure Avarice<br \/>\ncon i parametri corretti per la tua CPU. Lo script potr\u00e0 usare le<br \/>\nseguenti variabili di ambiente, che vengono definite direttamente dal<br \/>\nmakefile:<\/p>\n<ul>\n<li>PROGRAMMER_CPU: la cpu che stai usando nel progetto.<\/li>\n<li>PROGRAMMER_TYPE: il tipo di programmatore da usare<\/li>\n<li>PROGRAMMER_PORT: la porta su cui \u00e8 collegato il programmatore<\/li>\n<li>GDB_PORT: la porta su cui attendere le connessioni da GDB<\/li>\n<li>ELF_FILE: il path del file che contiene i simboli di debug per GDB<\/li>\n<\/ul>\n<p>Le variabili PROGRAMMER_TYPE e PROGRAMMER_PORT<br \/>\nsono definite nel makefile del progetto (per esempio hello_world.mk).<br \/>\nUna volta creati gli script, basta lanciare uno dei seguenti comandi<br \/>\nper flashare o debuggare un programma:<\/p>\n<p>make flash_hello_world<br \/># oppure<br \/>make debug_hello_world<\/p>\n<p>Questo \u00e8 tutto. Buon divertimento con BeRTOS!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Questo tutorial vi guider\u00e0 nella scrittura della prima applicazione con BeRTOS. Useremo una delle CPU attualmente supportate da BeRTOS, ATMega1281. Useremo il Wizard per creare il progetto, quindi inizializzeremo la seriale di debug e stamperemo alcuni messaggi di output.<\/p>\n","protected":false},"author":10,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"cybocfi_hide_featured_image":"","footnotes":""},"categories":[186],"tags":[10205,10204,9539,9540,9543,10206,9544,10202,10201,10203,9541,9538,10207,10208],"class_list":["post-3189","post","type-post","status-publish","format-standard","hentry","category-opensource","tag-bertos","tag-embedded-driver","tag-embedded-rtos","tag-free-rtos","tag-open-source-rtos","tag-programmare-real-time","tag-real-time-rtos","tag-sdk-embedded","tag-sistema-embedded","tag-sistema-operativo-embedded","tag-sistema-operativo-real-time","tag-sistema-real-time","tag-sistemi-embedded","tag-tutorial-embedded"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>BeRTOS: la vostra prima applicazione! - Article Marketing<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.article-marketing.eu\/comunicati\/computer\/opensource\/bertos-la-vostra-prima-applicazione\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"BeRTOS: la vostra prima applicazione! - Article Marketing\" \/>\n<meta property=\"og:description\" content=\"Questo tutorial vi guider\u00e0 nella scrittura della prima applicazione con BeRTOS. Useremo una delle CPU attualmente supportate da BeRTOS, ATMega1281. Useremo il Wizard per creare il progetto, quindi inizializzeremo la seriale di debug e stamperemo alcuni messaggi di output.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.article-marketing.eu\/comunicati\/computer\/opensource\/bertos-la-vostra-prima-applicazione\/\" \/>\n<meta property=\"og:site_name\" content=\"Article Marketing\" \/>\n<meta property=\"article:published_time\" content=\"2009-11-05T11:40:33+00:00\" \/>\n<meta name=\"author\" content=\"Redazione Comunicati Stampa\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"Redazione Comunicati Stampa\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.article-marketing.eu\\\/comunicati\\\/computer\\\/opensource\\\/bertos-la-vostra-prima-applicazione\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.article-marketing.eu\\\/comunicati\\\/computer\\\/opensource\\\/bertos-la-vostra-prima-applicazione\\\/\"},\"author\":{\"name\":\"Redazione Comunicati Stampa\",\"@id\":\"https:\\\/\\\/www.article-marketing.eu\\\/comunicati\\\/#\\\/schema\\\/person\\\/44372e4d4d0fa797b18e03ed1ace9017\"},\"headline\":\"BeRTOS: la vostra prima applicazione!\",\"datePublished\":\"2009-11-05T11:40:33+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.article-marketing.eu\\\/comunicati\\\/computer\\\/opensource\\\/bertos-la-vostra-prima-applicazione\\\/\"},\"wordCount\":589,\"commentCount\":0,\"keywords\":[\"bertos\",\"embedded driver\",\"embedded rtos\",\"free rtos\",\"open source rtos\",\"programmare real time\",\"real time rtos\",\"sdk embedded\",\"sistema embedded\",\"sistema operativo embedded\",\"sistema operativo real time\",\"sistema real time\",\"sistemi embedded\",\"tutorial embedded\"],\"articleSection\":[\"Opensource\"],\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.article-marketing.eu\\\/comunicati\\\/computer\\\/opensource\\\/bertos-la-vostra-prima-applicazione\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.article-marketing.eu\\\/comunicati\\\/computer\\\/opensource\\\/bertos-la-vostra-prima-applicazione\\\/\",\"url\":\"https:\\\/\\\/www.article-marketing.eu\\\/comunicati\\\/computer\\\/opensource\\\/bertos-la-vostra-prima-applicazione\\\/\",\"name\":\"BeRTOS: la vostra prima applicazione! - Article Marketing\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.article-marketing.eu\\\/comunicati\\\/#website\"},\"datePublished\":\"2009-11-05T11:40:33+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.article-marketing.eu\\\/comunicati\\\/#\\\/schema\\\/person\\\/44372e4d4d0fa797b18e03ed1ace9017\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.article-marketing.eu\\\/comunicati\\\/computer\\\/opensource\\\/bertos-la-vostra-prima-applicazione\\\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.article-marketing.eu\\\/comunicati\\\/computer\\\/opensource\\\/bertos-la-vostra-prima-applicazione\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.article-marketing.eu\\\/comunicati\\\/computer\\\/opensource\\\/bertos-la-vostra-prima-applicazione\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.article-marketing.eu\\\/comunicati\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"BeRTOS: la vostra prima applicazione!\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.article-marketing.eu\\\/comunicati\\\/#website\",\"url\":\"https:\\\/\\\/www.article-marketing.eu\\\/comunicati\\\/\",\"name\":\"Article Marketing\",\"description\":\"article marketing &amp; press release\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.article-marketing.eu\\\/comunicati\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.article-marketing.eu\\\/comunicati\\\/#\\\/schema\\\/person\\\/44372e4d4d0fa797b18e03ed1ace9017\",\"name\":\"Redazione Comunicati Stampa\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/50e5c6421d3072f42e7ace803501602c60d75233d34e29fd05feb91c8760b792?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/50e5c6421d3072f42e7ace803501602c60d75233d34e29fd05feb91c8760b792?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/50e5c6421d3072f42e7ace803501602c60d75233d34e29fd05feb91c8760b792?s=96&d=mm&r=g\",\"caption\":\"Redazione Comunicati Stampa\"},\"url\":\"https:\\\/\\\/www.article-marketing.eu\\\/comunicati\\\/author\\\/redazione-comunicati-stampa\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"BeRTOS: la vostra prima applicazione! - Article Marketing","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.article-marketing.eu\/comunicati\/computer\/opensource\/bertos-la-vostra-prima-applicazione\/","og_locale":"it_IT","og_type":"article","og_title":"BeRTOS: la vostra prima applicazione! - Article Marketing","og_description":"Questo tutorial vi guider\u00e0 nella scrittura della prima applicazione con BeRTOS. Useremo una delle CPU attualmente supportate da BeRTOS, ATMega1281. Useremo il Wizard per creare il progetto, quindi inizializzeremo la seriale di debug e stamperemo alcuni messaggi di output.","og_url":"https:\/\/www.article-marketing.eu\/comunicati\/computer\/opensource\/bertos-la-vostra-prima-applicazione\/","og_site_name":"Article Marketing","article_published_time":"2009-11-05T11:40:33+00:00","author":"Redazione Comunicati Stampa","twitter_card":"summary_large_image","twitter_misc":{"Scritto da":"Redazione Comunicati Stampa","Tempo di lettura stimato":"3 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.article-marketing.eu\/comunicati\/computer\/opensource\/bertos-la-vostra-prima-applicazione\/#article","isPartOf":{"@id":"https:\/\/www.article-marketing.eu\/comunicati\/computer\/opensource\/bertos-la-vostra-prima-applicazione\/"},"author":{"name":"Redazione Comunicati Stampa","@id":"https:\/\/www.article-marketing.eu\/comunicati\/#\/schema\/person\/44372e4d4d0fa797b18e03ed1ace9017"},"headline":"BeRTOS: la vostra prima applicazione!","datePublished":"2009-11-05T11:40:33+00:00","mainEntityOfPage":{"@id":"https:\/\/www.article-marketing.eu\/comunicati\/computer\/opensource\/bertos-la-vostra-prima-applicazione\/"},"wordCount":589,"commentCount":0,"keywords":["bertos","embedded driver","embedded rtos","free rtos","open source rtos","programmare real time","real time rtos","sdk embedded","sistema embedded","sistema operativo embedded","sistema operativo real time","sistema real time","sistemi embedded","tutorial embedded"],"articleSection":["Opensource"],"inLanguage":"it-IT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.article-marketing.eu\/comunicati\/computer\/opensource\/bertos-la-vostra-prima-applicazione\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.article-marketing.eu\/comunicati\/computer\/opensource\/bertos-la-vostra-prima-applicazione\/","url":"https:\/\/www.article-marketing.eu\/comunicati\/computer\/opensource\/bertos-la-vostra-prima-applicazione\/","name":"BeRTOS: la vostra prima applicazione! - Article Marketing","isPartOf":{"@id":"https:\/\/www.article-marketing.eu\/comunicati\/#website"},"datePublished":"2009-11-05T11:40:33+00:00","author":{"@id":"https:\/\/www.article-marketing.eu\/comunicati\/#\/schema\/person\/44372e4d4d0fa797b18e03ed1ace9017"},"breadcrumb":{"@id":"https:\/\/www.article-marketing.eu\/comunicati\/computer\/opensource\/bertos-la-vostra-prima-applicazione\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.article-marketing.eu\/comunicati\/computer\/opensource\/bertos-la-vostra-prima-applicazione\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.article-marketing.eu\/comunicati\/computer\/opensource\/bertos-la-vostra-prima-applicazione\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.article-marketing.eu\/comunicati\/"},{"@type":"ListItem","position":2,"name":"BeRTOS: la vostra prima applicazione!"}]},{"@type":"WebSite","@id":"https:\/\/www.article-marketing.eu\/comunicati\/#website","url":"https:\/\/www.article-marketing.eu\/comunicati\/","name":"Article Marketing","description":"article marketing &amp; press release","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.article-marketing.eu\/comunicati\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Person","@id":"https:\/\/www.article-marketing.eu\/comunicati\/#\/schema\/person\/44372e4d4d0fa797b18e03ed1ace9017","name":"Redazione Comunicati Stampa","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/secure.gravatar.com\/avatar\/50e5c6421d3072f42e7ace803501602c60d75233d34e29fd05feb91c8760b792?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/50e5c6421d3072f42e7ace803501602c60d75233d34e29fd05feb91c8760b792?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/50e5c6421d3072f42e7ace803501602c60d75233d34e29fd05feb91c8760b792?s=96&d=mm&r=g","caption":"Redazione Comunicati Stampa"},"url":"https:\/\/www.article-marketing.eu\/comunicati\/author\/redazione-comunicati-stampa\/"}]}},"_links":{"self":[{"href":"https:\/\/www.article-marketing.eu\/comunicati\/wp-json\/wp\/v2\/posts\/3189","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.article-marketing.eu\/comunicati\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.article-marketing.eu\/comunicati\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.article-marketing.eu\/comunicati\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/www.article-marketing.eu\/comunicati\/wp-json\/wp\/v2\/comments?post=3189"}],"version-history":[{"count":0,"href":"https:\/\/www.article-marketing.eu\/comunicati\/wp-json\/wp\/v2\/posts\/3189\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.article-marketing.eu\/comunicati\/wp-json\/wp\/v2\/media?parent=3189"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.article-marketing.eu\/comunicati\/wp-json\/wp\/v2\/categories?post=3189"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.article-marketing.eu\/comunicati\/wp-json\/wp\/v2\/tags?post=3189"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}