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

newbie: How to configure crossbar (in general) for C8051F020

Hello,

I am new to the 8051 architecture.

A few questions:

I found a general UART example FROM Keil and converted all registers to the C8051F020 architecture.

It runs fine in the simulator with proper output to the Serial #1 debug window. I downloaded using the SiLabs plugin dll to the target board. Downloaded the code but no output on the uart 0.

I am a bit confused.

Found out tonight that this this thing called a XBAR needs to be configured. Weirdest thing I've ever seen before. Anyhow:

1) why does the simulator work and the actual target does not?

2) why can I configure peripherials in debug in the simulator and no matter what I do it works? I didn't know of a crossbar at this point.

3) SiLabs has a configuration utility to configure the crossbar and I can import that to Keil (if I make it under 'c' and not assembler because of duplicate includes probelems with the 'c' code I write in Keil). So what is the mechanism to make/adjust a new startup.a51 file? Or should I use the 'c' produced from the SiLabs config utility.

4) I have found the crossbar chart in the devices pdf file, but should I use SiLabs config utility, or is there a predefined procedure in Keil to configure the crossbar?

Thanks very much in-advance for any assistance,

C.

Parents
  • I found a general UART example FROM Keil and converted all registers to the C8051F020 architecture.

    It runs fine in the simulator with proper output to the Serial #1 debug window. I downloaded using the SiLabs plugin dll to the target board. Downloaded the code but no output on the uart 0.

    Of course, you did not.

    How can you expect something to work if you do not take the time to read the manual?

    Yes, you have to set the crossbar, the SILabs config utility will generate the code for that, but also you have to set SFRPAGE which no "general UART example" wil include.

    so, since the crossbar has millions of combinations, the SILabs config will sometimes have a glitch (as complex as it is, I am impressed how few) so if you do not take the time to read up on the crossbar in the datasheet, you will not be able to find and fix the glitch.

    Also, if you do not take the time to read up on the paged SFRs you will never get it to work.

    There is no free lunch. Either pay (study the datasheet) and be fed, or go hungry.

    Erik

Reply
  • I found a general UART example FROM Keil and converted all registers to the C8051F020 architecture.

    It runs fine in the simulator with proper output to the Serial #1 debug window. I downloaded using the SiLabs plugin dll to the target board. Downloaded the code but no output on the uart 0.

    Of course, you did not.

    How can you expect something to work if you do not take the time to read the manual?

    Yes, you have to set the crossbar, the SILabs config utility will generate the code for that, but also you have to set SFRPAGE which no "general UART example" wil include.

    so, since the crossbar has millions of combinations, the SILabs config will sometimes have a glitch (as complex as it is, I am impressed how few) so if you do not take the time to read up on the crossbar in the datasheet, you will not be able to find and fix the glitch.

    Also, if you do not take the time to read up on the paged SFRs you will never get it to work.

    There is no free lunch. Either pay (study the datasheet) and be fed, or go hungry.

    Erik

Children
No data