This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM335x ICEv2 flashing SPI

Hello,

quick question when i load and run spi_flasher_out into the board after following the instructions, i get an error regarding missing main.c  (in pic)

Is it an error that can be ignored? Because the spi flash does run ( I get to flash/erase etc. etc ) and i do get to load both Bootloader and Application from the sdk folder (in my case the profinet example)

I ask because, although the program loads successfully I think the function inside input data task might not be run (regarding the digital input position 1-9 via the rotary controller with different functions) Because changing the rotary controller doesn't do anything to the LCD display/LED when it comes to position 5,6,7,8.


bios : 6_45_01_29

pdk v1.0.3

sdk v2.1.1.2

ccsv6

PS: I also get this other error after SYSTEM-RESET

but read that a HW-Reset and reloading the Initialisation script helps solves that and it did.

Thank you

  • Hello,

    some additional Info :

    I assumed the programme has 'succesfully' loaded because 'PROFINET IRT' is displayed on the LCD and the D2 blinks blue. But the rotary switch doesn't seem to be working. I've since erased both SPI Flashed Bootloader and Application and reflashed but the rotary switch still doesn't seem to be working. I've also tried booting the board with SD Card ( with MLO and corresponding app ) and that doesn't work as it should either.

    2 follow-up Questions and a general inquiry regarding the PROFINET stack that I'd like to ask :

    a) Are the Jumpers mentioned in the picture below referring to the Rotary Switch (1-9) or something else? I read the SDK Guides and tried to look through the main.c to see if it was mentioned anywhere but don't seem to find the location of these Jumpers. Did I miss anything? IN FACT within the appInData Function of the main.c, the only other thing OUTSIDE of the rotary switch was J9 which, after looking through at Board PCB Layout points to the RS-485 Connection. This confused me a little because wouldn't the connection to a Master/Step7 only require the Ethernet Interface?

    b) Is there a way to see why main.c isn't running the appInData Task?

    c) General Inquiry : I've been looking through the PROFINET APIs provided by TI and it is very extensive and impressive. After asking some questions regarding that as well as reading around the forum, I've come to the understanding that what the stack provides is very very limited; In the sense all it does is demonstrate that one has a PROFINET connection established with the Device, through an Alarm, blinking LEDs and the sending of fixed data input. If that is the case,  does that mean the PROFINET APIs provided by TI ( which is very extensive and impressive) can't be utilised without first investing thousands for a licensed stack...especially if one only wants to work with a simple sensor system with integrated PROFINET?


    My question may come across as myopic, even borderline silly, but as an excited learner new to themes like SYS/BIOS and the Sitara Processors w.r.t. PROFINET, I've found it very difficult to go beyond the provided example, WHICH, again, if my understanding is correct, doesn't do much to begin with. I've tried contacting Molex but that didn't bring any futher.

    I would tremendously appreciate it if anyone has input regarding this matter or just something that could point me in a right direction regarding further development.

    Thank you very much.

  • I've moved your thread to the device forum.

    Todd
  • Hi Todd,

    thanks! Sorry not to sure where the question fits..
  • Regarding the second part of question a)... I read that I do indeed have to manipulate values through the inputs of the RS-485.
  • Zhek,

    a) Digital Input refers to the Digital Inputs on schematic page 14 of ICEv2. You can set jumpers on connector J14 accordingly. It seems the main code is reading that data through SPI into variable 'J9'. Now there is some comments that refer to rotary switch but I don't think it is active in the current version of main.c
    Not sure why you believe there is anything needed on the RS485 interface. This is not used for PROFINET examples.

    b) did you try to debug the task using breakpoints, single stepping,..?

    c) TI only provides a low layer API for a PROFINET switch. We then use the Molex stack to implement a simple PROFINET device. Customers need to have their own PROFINET stack (or license Molex) to build their own applications/devices. Unfortunately you will require a full featured stack even for a simple PROFINET device due to the standard and certification requirements. Please see the PNO web pages for full details. We did not invent that...

    I suggest you contact TMG for further PROFINET support and access to the Molex stack. See http://www.tmgte.de/en/

    Regards,
  • Hello Frank,

    a) Thank you for clearing my confusion regarding the variable 'J9'! I tried it out with the jumper on the DIs (based with INDUS_INPUT7...though it did take me a while to find out which signal/source it should be) and it WORKED! Except for the alarm function, somehow that wasn't reflected on STEP 7 but the rest worked perfectly eg. LOOPBACK, MOVE, COUNT etc. with the bitshift/bitmove results viewable on the STEP 7 programme.

    b) I will have to do single stepping to find out why the alarm function isn't run...HOWEVER, the more i step through the programmes the more in awe i am with how everything is connected, like the app_pa8fg.c and *.cfg and how the packages/modules are run. Thankfully I've gone through most of the SYS/BIOS material by now - or at least adequately - such that i don't feel lost anymore, I can't explain every single line, but i'm beginning to know enough to really appreciate how smoothly everything runs. Thanks again for your helpful comments.

    c) Ah now that I finally established a connection with a PLC and the STEP 7 programme I am beginning to understand what you mean regarding the stack. Also i will get into contact with TMG and try. Recently came across some decent material on PN-IO topic from SOFTING - will look into that too!

    Have a great week!
  • Zhek,

    thanks for the feedback. Good to know if things start to work and we have happy customers...
    Sitara is a complex SoC with a steep learning curve. But once you are past this it is usually fun.

    The alarm feature is a bit specific as it was done only for the purpose of manually generating a single alarm message. That is only required during PROFINET certification tests. Otherwise the stack should manage alarms in both directions accordingly. So with S7 PLC the manual alarm does not make a lot of sense I think.

    With TMG you need to be persistent as they are usually very busy and as such slow in answering. If you can persuade SOFTING to port their stacks onto Sitara even better. So far I think they only do FPGAs...

    Best regards,
  • Hello Frank,

    i am very happy indeed, can't wait to scale the soon-to-come fun curve! :-)

    That's really good to know! I will have to read more on the SIEMENS documents as well.

    I had to leap from Defining classes in C++ and Simple Arduino programmes to Sitara SoC, so needing to juggle both BIOS and PROFINET simultaneously can really get overwhelming. But having taken a better look into the PRUSS and EDMA LLD - it's definitely been an enriching experience in seeing how the dots are joined. I just wished I had the oversight to roughly know where I am supposed to look, sooner.

    Yes I've learnt a little more about stack pricing from Molex (-: Will see how it goes with TMG.