@jtgd
Strictly you should use an int (the arm is a 32 bit processor so int will be 32 bits).
For any platform int should be the most efficient type for the platform to process (that is how it is defined in the standard). Obviously you have to offset that with support portability given the possible limitations in size of int.
This is why of all the integer types int is the one that is found to be different sizes most often when examining different platforms.