Dear list, especially for those of you who
are experiencing "data misalignment" error,
The following paragraphs may sound too
technical to many of you, so I'll try my best
to explain what "data misalignment" really is
(Andy, Jonathan, I need your help):
According to my Google search, a data
misalignment is a frequent error found in
devices that are based on ARM processors (on
BrailleNote's case, it applies to PK and
mPower). ARM processors are very sensitive
about data alignment. If it decides that the
data is not aligned properly (according to
its rules), then it will report that it
cannot handle it, giving this "data
misalignment" error. It usually refers some
kind of memory lo,not (this is why that error
is followed by a number). RAM is divided
into memory location to hold data. If a
location cannot be accessed, or corrupted, or
in this case, if a data is not properly
aligned in that particular memory location,
then it will pop up that message.
A typical message looks like this:
Exception: command: 311 at 1408 (data
misalignment).
This means (to my understanding) that a
function that was supposed to access memory
location 1408 has found that a segment of the
data inside it (data number 311) is somehow
not aligned properly for the ARM CPU to
handle it. According to my search, it occurs
usually with devices that are based on ARM
architecture, and this occurs under Windows
CE. And because KeySoft is written in C Plus
Plus (CPP for short; Jonathan, can you
clarify), the occurrence rate of this type of
error will rise due to the fact that C does
not understand Unicode; it uses ANSI (Windows
CE is mostly written to support Unicode,
according to an MSDN post about this error).
Technically, ANSI only uses one bit character
encoding, whereas Unicode uses two bit
character encoding (this will increase
chances of getting this error).
It seems to me that this error occurs when
you try to open a text file. Some text files
are written in a way that confuses CPU (some
text files use Unicode, while others use ANSI
encoding). This is why txt files are labeled
as "Unicode file" because it contains Unicode
characters (this does not cause this error to
occur).
A solution (I think) might require an entire
rewrite of the KeySoft code that handles
text, especially differenciating between ANSI
and Unicode. Hope my explanations didn't
sound too techie to you all.
Cheers,
Joseph P.S. Do a Google search on Data
Misalignment and it should give you wealth of
information about it.
___
Replies to this message will go directly to the sender.
If your reply would be useful to the list, please send a
copy to the list as well.
To leave the BrailleNote list, send a blank message to
[EMAIL PROTECTED]
To view the list archives or change your preferences, visit
http://list.humanware.com/mailman/listinfo/braillenote