Anteckningar från Embedded Conference Scandinavia 2011

Förra veckan besökte jag Embedded Conference Scandinavia, den bästa konferens rörande inbyggda system i landet. (iallafall som jag känner till, tips mottages gärna)

Det stora i år var multi-core-system och till en mindre del öppen källkod. Bland utställarna fanns i år ett par leverantörer av testsystem, vilka var relativt intressanta.

Could software benefit from migrating to a multicore platform (David Stewart, CriticalBlue)
Enligt undersökningar förväntar sig mer än 50% av utvecklare av inbyggda system att migrera till en fler-kärning plattform under 2012, vilket kan leda till problem eftersom väldigt få saknar kunskaperna som krävs. Anledningen till att byta till en fler-kärnig plattform är att ordentligt skrivna program kan vinna en hel del i prestanda utan allt för mycket arbete. På grund av kunskapsbristen är det viktigt att migreringen planeras noga, nuvarande plattform utvärderas för att avgöra vilka delar som skulle gagnas av en övergång till flera kärnor samt vilka svårigheter som kan uppstå. Dessutom måste personalen utbildas för att kunna bygga och underhålla applikationer som utnyttjar den nya plattformen på ett bra sätt.

Tackling software reliability on Multiprocessor architectures (Gwyn Fisher, Clocwork)
Migreringen till en fler-kärning plattform är kostsam, ett projekt som är tänkt att köra på flera kärnor kan kosta upp till 450% av ett sekventiellt program. Validering utgör en stor del av de ökade kostnaderna. För att komma undan de största utgifterna bör man planera projektet noggrant, utbilda både utvecklare och testare samt investera i verktyg för att underlätta arbetet.

Open source revision control – A usecase approach (Anders Musikka, Prevas)
Anders lade fram en intressant metod när revisionshanteringssystem skall väljas som går ut på att man utvärderar verktygen efter de tänkta arbetsfallen, t.ex. check out, branch, merge, etc.
De exempel som visades använde git och visade bland annat den intressanta funktionen bisect som ger användaren möjlighet att automatiskt söka efter när t.ex regresioner i tidigare revisioner introducerades i kodbasen.
Buildsystemet tup demonstrerades också, och det verkar vara ett litet intressant verktyg. Tup‘s styrka är att det är väldigt snabbt på att kontrollera vilka filer som har uppdaterats.

Beyond Virtulization: A comprehensive approach (Förlorat namn, Montavista)
Montavista presenterade ett antal intressanta lösningar för viritualisering i inbyggda system. Det mest intressanta de presenterade var Containers, som kan ses som minimala lätta virutaliserings gränssnitt. En av fördelarna med detta är ett varje container får tillgång till vissa delar av filsystemet, eget skyddat minne samt kan ha direkt kontakt med I/O-enheter.
En annan intressant teknologi som presenterades var Bare metal engine, ett system som låter applikationer gå förbi linux-kärnan och ha direkt access till hårdvaran. Ifall detta är en bra idé låter jag vara osagt, men det är definitivt imponerande.

Open Embedded – the build framework for embedded linux (Anders Törnquist, SWICO)
För större linux-system behövs ett ramverk för att hantera byggproceduren så som Open Embedded. Andra byggsystem för inbyggda system är t.ex. gentoo och buildroot. Fördelen med Open Embedded är att den stödjer väldigt mycket hårdvara, har en stor paket-databas, har en aktiv utvecklar-krets samt att det är deterministiskt. Nackdelarna med systemet är att det tar lång tid att göra ett en komplett kompilering och märker inte av förändringar inom paket. Systemet påminner väldigt mycket om gentoo’s emberge enligt min åsikt.

Efficient Safety Critical Systems Development, is FLOSS the only answer? (Michaël Freiss)
FLOSS (free libre open source software) innebär mjukvara som är fri att köra, läsa källkoden, modifiera och redistribuera, men som fortfarande är skyddad av Copyright. I applikationer som kräver att källkoden verifieras och säkerhetsklassas på något sätt kan FLOSS vara enklare att använda eftersom man inte är beroende av att tvinga en tredje part att certifiera sin källkod utan kan certifiera den kod man använder. Dessutom kan företag samarbeta för att se till att källkod är kontinuerligt certifierad. Open-do är ett projekt för att åstadkomma detta.

OpenRISC: Open source CPU support in Linux 3.1 (Jonas Bonn, South Pole consulting)
OpenRISC-arkitekturen är en öppen implementation av en RISC-processor (med instruktions-uppsättning kompatibel med RISC, mmu, cache etc.). Dagens implementation stödjer 32-bitars arkitektur men specifikationen innehåller även beskrivning av en 64-bitars variant. Den användbara implementationen heter OR1200 och är implementerad i en FPGA, den här implementationen kan köras i ca. 25 – 50 MHz. ÅAC arbetar med en ASIC-implementation. Från och med linux kernel 3.1 finns det stöd för OpenRISC, tidigare var man tvungen att använda en serie OpenRISC-patchar. I princip är det endast hårdvarugränssnittet som skiljer (startup-kod, memory mangement, avbrott m.m.). Vill man bidra finns det gott om saker att göra, t.ex. skriva periferi-enheter i verilog, test och caching-algoritmer.

Optoelectronics – eyes of the system (Todd Bishop, TAOS)
TAOS presenterade sina intelligenta ljussensorer, och med intelligenta menas digitalt gränssnitt. Fördelen med detta är att kalibreringsarbete undviks samt att inläsning av mätdata är enkelt, nackdelen är att priset är högre och systemet blir en aning mindre flexibelt.
Lite information om optosensorer:

  • Kisel-baserade sensorer kan detektera våglängder upp till 1100 nm
  • photoresistorer svarar på ljus på ungefär samma sätt som det mänskliga ögat men har långsam svarstid och innehåller kadmium.
  • Fotodioder har ett linjärt svar, låg brus-nivå och reagerar snabbt men har en väldigt låg signalstyrka och måste förstärkas.
  • Fototransistorer är väldigt ljuskänsliga och har en relativt snabb svarstid men är temperaturkänslig och icke-linjär.

Wireless sensing (Daniele Rezzonico, Sensirion)
Det här seminariet handlade nästan inte alls om det rubriken sa utan om fuktsensorer .

How to improve model-based development efficiency by reducing test components (Jimmy Adolph, NI)
Istället för att förespråka LabView som National Instruments brukar göra. utan förespråkade istället en modell-baserad utveckling där precessen ser ut som följer
Mjukvaromodell testas mot hårdvarumodell
Verklig mjukvara testas mot hårdvarumodell
Mjukvaromodell testas mot verklig hårdvara
Verklig mjukvara testas mot verklig hårdvara
Denna process har fördelen att testmodeller återanvänds i hela utvecklingsprocessen och ger utvecklare och testare möjlighet att enkelt spåra fel.

Designing advanced DSP applications on Cortex-M4 (Anders Lundgren & Lotta Frimanson, IAR)
Cortex M4 bygger på Cortex M3 men har också en FPU och SIMD-utbyggnader (för kommunikation med FPU-delen som jag förstod det hela). M4 stödjer bl.a mättade instruktioner (dvs funktioner som inte kan generera overflow). Fördelen med att använda Cortex-processorer är att portning mellan olika leverantörer är relativt enkelt tack vare samarbetet CMSIS. Specifika fördelar med M4-varianten är bl.a dess debugging-funktionalitet (set/clear memory samt breakpoints medan processorn kör, trace samt funktions-profiling genom att sampla program-räknaren under körning)

Improving support for modeling and simulation of cyber-physical systems (Walid Taha, Halmstad Universitet)
Acumen är ett språk för att simulera fysiska system som innefattar logik på ett smidigt sätt. Exemplet som gavs under presentationen var en fallande boll (fysiskt system) som när den träffar en yta byter riktning (logik). Idéen var att använda matematik som ett programmeringsspråk och skapa modeller utifrån ekvationer.

Utöver dessa seminarier var det ett par intressanta utställare i mässhallen, mycket var återförsäljare men också ett par processor-tillverkare och verktygsutvecklare visade upp sina varor. ett företag visade upp en bootloader byggd med samma teknik som mikrokärnor.

Det var också roligt att träffa gamla bekanta =)

Etiketter: , , , , , , , , , ,

7 svar to “Anteckningar från Embedded Conference Scandinavia 2011”

  1. Johan A. Says:

    Fett inlägg!

    Ska lusläsa allt senare. Idag är det Python-kurs :)

  2. akeinexile Says:

    Vad är det för kurs och i vilket format är den? ett par dagar eller universitets-aktig?

    • Johan A. Says:

      det är en tredagars grundkurs. Dag 2 idag. Riktigt bra. Jag har lärt mig Py. själv så det skadar verkligen inte att få grundkoncepten. Python är inte som C, det är ett som är säkert, speciellt variabler hanteras på helt andra sätt. Man kan använda allt som man gör i C, men vat man inte hur det funkar i bakgrunden missar man en massa fördelar. Nu gäller det bara att komma ihåg allt ;)

  3. David Hennerström Says:

    Tack!

    Synd att jag inte kunde gå själv, men du verkar ha valt ungefär samma seminarier som jag skulle ha gått :-)

    Jag var särskilt intresserad av OpenRISC-seminariet, de gav inte ut någon länk till presentationen eller så…?

  4. akeinexile Says:

    OpenRisc var sannerligen intressant, tyvärr fick vi ingen länk till presentationen är jag rädd, jag kan föröka fixa en kopia av föredraget om ett par veckor när jag är på FSCONS där Jonas Bonn både ska hålla ett föredrag om openRISC och en workshop.

Kommentera

Fyll i dina uppgifter nedan eller klicka på en ikon för att logga in:

WordPress.com Logo

Du kommenterar med ditt WordPress.com-konto. Logga ut / Ändra )

Twitter-bild

Du kommenterar med ditt Twitter-konto. Logga ut / Ändra )

Facebook-foto

Du kommenterar med ditt Facebook-konto. Logga ut / Ändra )

Google+ photo

Du kommenterar med ditt Google+-konto. Logga ut / Ändra )

Ansluter till %s


%d bloggare gillar detta: