[OSy] Konfigurace paměti MSIMu
Radim Vansa
radim.vansa at matfyz.cz
Tue Nov 24 20:20:13 CET 2009
Štěpán Henek napsal(a):
> V http://dsrg.mff.cuni.cz/~holub/sw/msim/tutorial.html stoji:
>
> "We have added a memory called "main" which starts at the address 0 (that's
> the start of the address space) and has 256 kilobytes. Addresses are often
> typed in hexadecimal so we have used the 0x prefix, otherwise the number would
> be decimal. The number may be postfixed by a modificator "k", "K" or "M". The
> number will be than multiplied by 1024, 1000 or 1024*1024 respectively. In our
> example, the size of the memory is 256k which is 262144 bytes."
>
Ano, máte pravdu, v tutorialu to je. Přiznávám se, že ten jsem četl jen
na začátku. Nicméně sekce 7 v reference (viz odkaz níže)
7. Input command line
The command line support various nice features like command history, tab
completion for completing the commands and arguments while typing, etc.
A very brief overview of the input command line properties:
* Commands and their arguments are separated via whitespace.
Whitespace characters are: space, tab, period.
* Numeric values can be prefixed by |0x| representing hexadecimal
notation.
* Numeric values can be suffixed by |k| and |K| (representing
multiplication by 1024) and |M| (representing multiplication by
1048576).
* String values should be surrounded by quotes (as in |"abcd"|)
Zde se o žádném násobení 1000 nepíše, vypadá to, jako by k a K mělo
stejnou funkci. Přičemž právě reference by měla být bernou mincí, ne
nějaká poznámka v tutorialu.
> Jinak určitě si projděte http://dsrg.mff.cuni.cz/~holub/sw/msim/reference.html
> Obzvláště dumpovani tlb, registru, a pameti + nastaveni breakpointu.
>
> On Tuesday 24 November 2009 19:56:04 Radim Vansa wrote:
>
>> Zdravím,
>>
>> chtěl bych všechny upozornit na to, že v konfiguraci MSIMu (windowsího
>> 1.3.6) nejspíše záleží na tom, jestli se u velikosti paměti použije
>> velké nebo malé K. Dokumentuje to následující kód
>>
>> volatile uint8_t *p1 = (uint8_t *)0x809E3480;
>> *p1 = 0xAA;
>> printk("%p %p\n", p1, *p1);
>>
>> který s nastavením 10240k paměti vypíše
>>
>> 0x809E3480 0x000000FF
>>
>> zatímco s nastavením 10240K či 10M vypíše
>>
>> 0x809E3480 0x000000AA
>>
>> Ano, měli bychom si otestovat velikost paměti sami, ale narazil jsem na
>> to a zabralo mi asi 2 hodiny práce zjistit, kde je chyba (GCC je hrozně
>> milé, když zapomenete na volatile modifikátor).
>>
>> Nejdou mi rozbalit zdrojáky MSIMu, abych našel konkrétní místo, ale
>> hodilo by se to zjistit a připsat do referenční příručky (nejspíše se
>> někde násobí jen 1000).
>>
>> Radim Vansa
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>> OSy mailing list
>> OSy at dsrg.mff.cuni.cz
>> https://dsrg.mff.cuni.cz/mailman/listinfo/osy
>>
>>
>
> _______________________________________________
> OSy mailing list
> OSy at dsrg.mff.cuni.cz
> https://dsrg.mff.cuni.cz/mailman/listinfo/osy
>
>
>
More information about the NSWI004
mailing list