[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