ERC32 System Registers
John Alexandersson
john at gaisler.com
Thu Aug 26 12:18:05 UTC 2004
My guess would be that you, somewhere in your crc-routine, are trying
to do a Byte or half-word store access, which is not allowed on the
erc32 system registers.
Maybe declaring sysreg as (unsigned32*)would help?
Only 32-bit store accesses are allowed on erc32 system registers.
/John Alexandersson
Carlos Bruno Silva wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
>
> I'm trying to calculate the CRC of the Erc32 System Registers
> (0x01f8....).
> These registers are mapped in memory through the adresses like the one
> above.
>
> First I tried using the same technique I used to do the memory CRC, that
> was to pass the adress to my CRC calculation routine, and the length of
> it in bytes.
> Since it is a 32bit registers, I passed somehing like this:
>
> sysreg=(char*)(0x01f80000);
> crc_sys_regs=binhex_updcrc(0,sysreg, 4);
>
> and for the second register, feeded back the value:
>
> sysreg=(char*)(0x01f80010);
> crc_sys_regs=binhex_updcrc(crc_sys_regs,sysreg, 4);
>
> and so on.. and so on...
>
> But this way, when I run the program I get a trap number 9.
>
> Also tried to do this in Assembly, by loading the content of the adress
> 0x01f8000 to a register... but it gives a relocation overflow.
>
> Maybe all this troubles are because of this registers being mapped in
> memory, but not really in memory...
>
> Has anyone ever tried to do something like this? With success preferably?
>
> :)
>
> Carlos S.
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.2.1 (GNU/Linux)
> Comment: Made with pgp4pine 1.76
>
> iD8DBQFBLc3E2t8CVjAJenYRApQpAJ4vIGrlMiyvhQBKNVTnKI+kDlUEcACffLc0
> JXEfEJZbVEnjZaEqII8U+6c=
> =4ke3
> -----END PGP SIGNATURE-----
>
> .
>
More information about the users
mailing list