so i am a complete newbie with ARM. my background is in C6000 DSPs.
my company is attempting to try to switch to an ARM processor as a cost savings attempt. i am being tasked with adjusting a project to work with the ARM processor. so i am not using an EVM board, i was told to jump straight to a custom board. we have not built the board yet so i have no hardware to play with
the processor picked is the AM3352
EDIT: we are planning to do this using the TI-RTOS, NOT LINUX or ANDROID
So my problem comes with understanding how to get started and where to find the information i need to start. i have looked over the datasheet, the technical reference manual, the SDK (to an extent) and wiki's and more. sorry if i sound bitter but it seems like i have been shot down at every attempt to understand how to start this project
here are the problems i have run into thus far:
i thought i would start with the GEL file and Clocking. i picked the beagle bone black gel file as a start since they use the 3358 which is pretty close to the 3352. i find how to set the PLLs in the technical reference manual but there is no description on the procedure on how to properly set the gates. i have found the clock tree tool but man-o-man is that thing confusing. in addition there is not a good way to extract the multitude (there are so many clock registers...) of register values out of it so i can set the clock gates properly, in addition i don't know if i am setting the register values in the right order. so i am feeling lost. LATER when i find the SDK i find example projects where they set the various clocks to initialize the board but that is a code example and it doesn't explain the rules, the why's, and why nots. i can follow the code but i won't fully understand why i am OR if i am doing it right for my specific board. i consider this to practically be a dead end even though i might get something working
so i moved on to the DDR3 setup. again, in the technical reference manual there is no explanation AT ALL (that i could find) about how to specifically set up the DDR3 interface. i started using the beagle bone black gel file so i had hoped they had got it right but i also like to verify essential example code since so many gel files we have gotten from TI have been wrong in the past. i had thought i found it in a wiki when i went searching for the timing calculator spreadsheet but, alas, it said to follow the code in a particular SDK and it provided a link. when i clicked the link it was a dead link (404 error). when i went out to search for the specific item refernced in the link i get a bin file that i can not use on windows. so i guess i have to hope that the gel file got it right. another dead end
so next i figured i would see if i could get anything done with the pinmux. most of the work has been done for me by our hardware guy so i just had to load his saved configuration file. i see in the utility that there are 4 output files, including a c file and an h file. i think that's great they already provide you code to initialize your pinmux with. nope. the c file is a collection of array definitions. i wonder "what do i do with these files? i'll check the help" which leads me to a wiki for the utility. i think the wiki will explain everything. nope. no mention of what these files are or how to use them. in addition the files don't provide any actual values you can put into specific registers so i am stuck doing this by hand anyway.
so i thought, at least i can make a project and start to piecemeal this thing together over time as i uncover data (that couldn't be better hidden if it was intentional). so i try to make a platform file. lo and behold the 3352 is not even an option in the processor drop down. luckily this question has already been answered in this forum which makes this my only non-dead-end (however without this question being asked here i would not have truly known what to do, i would have had to guess which not a great way to start engineering something).
so i need a major hand holding here or to be pointed in some direction where i can make my way through this.
so my questions end up being at the moment:
1) Where can i find the information that will explain how to properly set the clock gates/mux's?
2) How do i use the clock tree tool to find the right values for the registers that control the gates and mux's? i can look at the registers individually but there are A LOT of registers so is there some way that it gives you a list of registers that changed and what they need to be changed to?
3) How do i use the pinmux tool output to actually set my pinmux properly?
4) Where is the documentation for how to set up the DDR3 interface OR where is the code that provides the best example?
5) besides changing the config, timing1,2, and 3, and leveling values what else needs to be changed in the DDR3 init procedure?
thank you for any help you can give me.


