I notice the different between your sample and mine:
Declare "i" in the h file as "extern", and be included in the two c file, alse be included in the asm file.
I notice that in the first c file you re-declare the variable "i", then everythink ok!
I just wondered whether the two "i" (file.h and file.c) share the same RAM space?
Could you explare it for me?
Thank you!