skriptovaci jazyk pro MCU

Jaroslav Buchta jaroslav.buchta na hascomp.cz
Pátek Listopad 8 21:14:20 CET 2013


Zkousim eLua, zda se zatim, ze ma nepouzitelnou pametovou narocnost - 
asi dan za to, ze nejdrive kompiluje soubor do bytecode a pak realizuje...
Tento program

-----------------------------------------------
-- lua program

function func1 (s)
   print ("func1" .. "=" .. s .. "\n")
   return s+10
end




pi = 3.14159265
print ("hello LUA\npi=" .. pi .. "  " .. string.format("%4X",65530.5) .. 
"\n")

x = bit.bit(3)
print (x)
x = cpu.r32(123)
print (x)

z = func1(10)
func1(z)

-----------------------------------------------
sezere ve vrcholne fazi asi 27000B z haldy, coz je ponekud neprijatelne, 
protoze to se slozitosti programu dost poroste (bez te funkce do bylo 
22000, zkousel jsem jestli to nejak nerozdeli spotrebu pameti ale zda 
se, ze ne)
Skoda, jinak hezky jazyk i implementace, chce to aby uz byly k sehnani 
STM32F429, s nejakymi 8-16MB SDRAM by to byla brnkacka ;-)
Navic alokuje pamet po par bytech, vetsinou 20-30, kousek vypisu kolem 
funkcni  faze, na konci v zavorce je aktualni cista delka vyuzite haldy, 
bez mezer a hlavicek:

<realloc 010B62A3->010B609B 512 (25110)>
<realloc 00000000->010B596E 18 (25128)>
<realloc 010B59F3->010B5CA7 256 (25256)>
<realloc 010B5C1F->010B62A3 256 (25384)>
<realloc 010B5CA7->010B5CA7 160 (25384)>
<realloc 010B62A3->010B62A3 160 (25384)>
<realloc 010B609B->010B609B 304 (25384)>
<realloc 010B22CC->010B22CC 4 (25384)>
<free 00000000 (25384)>
<free 00000000 (25384)>
<free 010B572B (25112)>
<realloc 00000000->010B572B 20 (25132)>
<free 010B5843 (25100)>
<realloc 00000000->010B5747 24 (25124)>
<realloc 00000000->010B5767 20 (25144)>
<realloc 00000000->010B5783 21 (25165)>
<realloc 00000000->010B57A0 27 (25192)>
<realloc 00000000->010B57C3 47 (25239)>
<free 010B56CC (25221)>
<free 010B5E93 (24709)>
<free 00000000 (24709)>
<free 010B58E7 (24677)>




Ma nekdo napad na skriptovaci jazyk, ktery by byl pouzitelny a provadel 
program primo bez mezikodu? (vim, asi BASIC ale to bych nerad ;-) ) 
Hlavne jde o to, aby pametova narocnost moc nerostla s delkou programu.


Další informace o konferenci Hw-list