This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Problems with CAN using C164_CI

Please help me solving my problem with the CAN-interface of the C164_CI!
Using the Simulator it seems to work well!
But using the Monitorprogramm following will happen:
-writing to register C1IR (the IPC-bit-field)won't have any effect,allthough the CCE is set!?So CAN will not be onnected to the respective Pins.
-writing the CAN-ID of object 15,10,...,1 will work,but the others will cut the connection to the board...
-the baudrate will be different using the simulator or the monitor??
-when I use the 'GO'_button in the monitor the connection will be lost too when I stop it...

I tried using the Flash memory of the board but it won't work too!
Asking the technical support didn't help!

I really would be Pleased if somebody would help me!!!!!!!

P.S. A project configured by DAVE shows the same behaviour !

Thanks a lot hannes

Parents
  • Check your mailbox for the PDF documents.
    In my experience, there is no difference between Keil simulator and Monitor, provided that the hardware environment is correctly set.
    I mean: if a program works in simulation, it might be correct from a "formal" point of view, but the simulated environment differs from real hardware.
    Simulated hardware always works fine, but in real hardware you will go in troubles if, for instance, you specify a 0 wait state access on a slow memory!
    Carefully check the Linker M66 file to be sure that you have no memory segment mapped outside real memory and check the startup file for proper chip select setup (address windows, number of wait states, etc.).
    Again, check your startup configuration on port P0, PLL multiplication factor, address lines, number of CS signal and so on.
    Remember to reserve space for Mon166 interrupt vectors and memory, monitor writes its own NMI and Serial interrupt vectors, maybe your program uses that memory for data or code and gets corrupted by monitor.
    Compiler behaves the same with old and new steps, there is absolutely no difference, just check the REG164.H file, maybe some register don't exist in BC step.
    Remember 2K XRAM IS NOT IMPLEMENTED in the BC step!

Reply
  • Check your mailbox for the PDF documents.
    In my experience, there is no difference between Keil simulator and Monitor, provided that the hardware environment is correctly set.
    I mean: if a program works in simulation, it might be correct from a "formal" point of view, but the simulated environment differs from real hardware.
    Simulated hardware always works fine, but in real hardware you will go in troubles if, for instance, you specify a 0 wait state access on a slow memory!
    Carefully check the Linker M66 file to be sure that you have no memory segment mapped outside real memory and check the startup file for proper chip select setup (address windows, number of wait states, etc.).
    Again, check your startup configuration on port P0, PLL multiplication factor, address lines, number of CS signal and so on.
    Remember to reserve space for Mon166 interrupt vectors and memory, monitor writes its own NMI and Serial interrupt vectors, maybe your program uses that memory for data or code and gets corrupted by monitor.
    Compiler behaves the same with old and new steps, there is absolutely no difference, just check the REG164.H file, maybe some register don't exist in BC step.
    Remember 2K XRAM IS NOT IMPLEMENTED in the BC step!

Children
No data