simulatori?

Sezione dedicata ai Microcontrollori e ai Sistemi Embedded

simulatori?

Postby legacy » 26 Oct 2016, 00:30

Code: Select all
co-nix soc_sim_v1r4 # obj/sim
#
# help
exit................ - byebye
?................... - cmd list
help................ - show specific cmd help
ver................. - version
devload............. - load into dev memory
devswho............. - who is that device?
devslist............ - list devices
devsreset........... - reset devices
lb.................. - load bin
md.................. - memory display
di.................. - memory de-assembly
bpl................. - breakpoint list
wpl................. - watchpoint list
ans=(1)
# devslist
dev00: 0x00000000..00000fff 004096bytes IRQ00:0 mem:1 dummy0
dev01: 0x00001000..00001fff 004096bytes IRQ00:0 mem:0 dummy1
ans=(1)
# devsreset
dummy0.reset
dummy1.reset
ans=(1)
# devswho 0x0000
locking for 0x00000000
0x00000000..00000fff 004096bytes IRQ00:0 mem:1 dummy0
ans=(1)
# devswho 0x2000
locking for 0x00002000
NULL
ans=(0)
# devload 0x0000
locking for 0x00000000
0x00000000..00000fff 004096bytes IRQ00:0 mem:1 dummy0
loading data.bin ... done, 24 byte
ans=(1)
# md 0x0000
showing memory @ 0x00000000
00000000: 68 61 6c 6c 6f 20 77 6f 72 6c 64 00 00 00 00 00 [hallo world.....]
00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
00000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
00000040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
00000050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
00000060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
00000070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
00000080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
00000090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
000000a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
000000b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
000000c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
000000d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
000000e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
000000f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
ans=(1)
# ver
v1.0m, 2016-03-25
compile info:
  branch 1th_issue_r4/2016-10-26
ans=(1)
# exit
byebye


a tempo perso, da quasi un annetto
sto sviluppando questa struttura

permette di scrivere devices memory mapped
sia char-oriented (p.e. seriali)
sia mem-oriented (p.e. ram, rom, mega buffer)
sia block-oriented (p.e. pATA)

qui sopra si vede una shell, sviluppata come libreria
utile per interagire un po' con la struttura

e' scritto in C, pero' e' scritto come se fosse ad oggetti
ogni device ha i suoi metodi


p.e. dummy

Code: Select all
    p_dev->handler.init     = dummy_init;
    p_dev->handler.done     = NULL;
    p_dev->handler.iack     = NULL;
    p_dev->handler.cycle    = NULL;
    p_dev->handler.reset    = dummy_reset;
    p_dev->handler.open     = NULL;
    p_dev->handler.close    = NULL;
    p_dev->handler.byte_get = dummy_read8;
    p_dev->handler.byte_put = dummy_write8;
    p_dev->handler.word_get = NULL;
    p_dev->handler.word_put = NULL;
    p_dev->handler.long_get = NULL;
    p_dev->handler.long_put = NULL;


l'idea e' di aggiungere anche un modulo cpu
scrivere un device ram, uno rom, una seriale
caricare qualcosa nella rom, e lanciare la simulazione

st'aggeggio e' utile, forse, per sviluppare ISA custom
nel mio caso per provarla prima di implementare tutto
l'ecosistema su fpga (lavoro immenso)
legacy
 
Posts: 862
Joined: 12 Mar 2012, 11:30

Re: simulatori?

Postby legacy » 30 Oct 2016, 21:14

altra cosa "difficile" da fare in C
meno difficile da fare in C++

rendere tutto polimorfico
legacy
 
Posts: 862
Joined: 12 Mar 2012, 11:30


Return to Microcontrollori e microprocessori

Who is online

Users browsing this forum: Google [Bot] and 3 guests

cron