Jump to content


  • Content Count

  • Joined

  • Last visited

Everything posted by gfinlay

  1. Hi Trey, Thanks for your response. I'll address your comments (your original replies are in BLUE). Thanks for the great background information and the Motorware link (I was unaware that there was a set of similar drivers for the F2806x in the Motorware package). The complete F2806x driver GPIO enumerations for the GPIO1-GPIO58 in gpio.h is already one area where I see that the Motorware drivers improve upon the Launchpad gpio.h from the F28027 (which I had considered porting). I will do a diff comparison between Launchpad F2802x drivers and Motorware F2806x drivers to make sure I understand all the nuances of the differences. I understand the resources may be scarce and your bandwidth is precious. Having said that, it would be great if at some point you might be able to get around to the i2c driver for the F28027 Launchpad just to complete the set. Yes, bundling everything in ControlSuite is just a confusing as an unbundled approach. I would advocate at least something in between - using platform EVM devkit bundles (e.g. for the Launchpad) as long as all platform or device resources can be found within each bundle. This might mean incurring some redundancies where the same resources/files/tools are replicated in multiple bundles or places (but perhaps you could eliminate redundancy and include replicated resource instances by using references or links on your website). The one big advantage of having most C2000 stuff in ControlSuite was that I could search for everything in one place. As it was, I still missed finding the F28069 driver libraries in the Motorware suite bundle since it was separate from ControlSuite. Actually, I had a good look at all the various c2000 migration guides including the following: spry208.pdf - TMS320xF24xx to Piccolo F280xx Migration Overview sprabj2.pdf - TMS320F2802x and F2803x to TMS320F2806x Migration sprab40b.pdf - TMS320F280x to TMS320F2802x or 2803x Migration spraaq7b.pdf - TMS320x281x to TMS320x2833x or 2823x Migration spraa58a.pdf - TMS320x281x to TMS320x280x or 2801x or 2804x Migration Particularly in the sprabj2.pdf doc (F2802x/03x to F2806x migration), it would seem that there really aren't many differences between the F2802x and F2806x for on-chip peripherals. The ADC and ePWM/eCAP are pretty much the same. It is the older C281x devices that had the older EV event manager ePWM/eCAP and the older style ADC (sequence based). The DMA and CLA on the F2806x are really the biggest diffs. It would be great to have both sets of examples in the workspace - project names might have to be renamed and qualified to avoid naming collisions in the workspace. I already created a driverlib_F28069 project for the supporting library for the examples. In my CCS workspace, I renamed the driverlib project for the F28027 to driverlib_F28027 so that there is no namespace collision. By the way, the CCS project import feature would be really improved if they would allow imported projects to be renamed at import time (rather than just greying out imported project names which collide with projects already in the workspace -- a suggestion for the CCS team. Right now, I have to first rename an existing project in my workspace before importing a new project which might have a conflicting name. This comes back to my point about the usefulness of driver libraries - they are useful by themselves without needing to bundle with a DSPBIOS/SYSBIOS/TI-RTOS. I prefer the improved encapsulation of driver APIs over the older C2000 sample code. The older sample code might be useful for learning about the chip, but proper driver APIs and driver libraries are more useful to link with embedded code for production commercial projects I'm not sure yet whether I prefer the Stellaris/TivaWare style driver APIs or what F802x MotorWare/Launchpad Style driver API. I'll spend more time having a look at this over the next week and get back to you on this. BTW, I fully understand that it would only make sense to fully release drivers for the new devices (without doing a lot of work to back-propagate the same style drivers to older chips). Thanks again for your help. Regards, Gord
  2. Hi Trey, 1. I recently posted a similar topic to this thread on the TI E2E forum at http://e2e.ti.com/support/embedded/bios/f/355/t/277108.aspx. Basically, I am trying to find out if there are plans for higher-level Mware style driver library APIs (part of TI-RTOS perhaps) for either F28027 or F28069 Piccolo in the works. The reply I got from Todd Mullanix was that completion of support for F28x drivers (particularly for TI-RTOS) is lower priority than driver library code for ARM, TIVA and Concerto. But now that I have searched the ControlSuite documentation a bit more, I see that there is an existing a set of driver APIs for the Launchpad F2802x Peripheral Driver Library which is not yet present or ported to the F2806x Piccolo. The F28069 Mware library for F28069 only supports PIE, Systick, UART and USB drivers currently. I think that the F28069 Piccolo driver library support needs improvement. I think it is important to have a complete driver library supported on all the F28x chip platforms and available regardless of whether some developer wants to adopt the TI-RTOS or not (in my case I am using the Quantum Leaps QP platform for development). My point is that the driver code is useful even if an alternate kernel solution is used. I see that some of your drivers for the F2802x Launchpad Peripheral Driver Library are more formal driver API abstractions (rather than just sample code such as provided in the ControlSuite example code and header files. 2. Like Anguel, I also would like to see the availability of tested I2C driver code and a revision to the F2802x Peripheral Driver Library documentation to include this I2C driver API. I'm also somewhat surprised that many of the C2000 ControlSuite user guides and manuals are not unbundled and available online as separate SPRxxxx PDF files (i.e. the developer has to download the entire ControlSuite to get the documentation). For TivaWare, StellarisWare and the CC2538 families, the Peripheral driver library guides are available as separate downloads from ControlSuite. 3. Are there any suggestions you may have if I attempt to port any of the F2802x drivers you have developed to the F28069 Piccolo ControlStick or ControlCard? Which ones would have to be changed for compatibility with F28069 on-chip peripherals? I assume that PWM and eCAP drivers might probably have to change because the F28069 uses the newer ePWM and eCAP modules instead of the older 281x Event Manager based-design. In addition, I assume that there may be driver changes to support the SOC (start of capture) based ADC instead of the older sequencer-based design. There may be other changes (memory map?) of which I am unaware. Please let me know if you have any other porting suggestions. 4. Also, are there F2802x examples which use the new driver-style APIs rather than the older header files, or do all the examples still use the older headers. i.e. I am looking for complete examples which use something like the following ... //Perform basic system initialization WDOG_disable(myWDog); CLK_enableAdcClock(myClk); (Device_cal)(); //Select the internal oscillator as the clock source CLK_setOscSrc(myClk,CLK_OscSrc_Internal); //Setup the PLL for x10/2 which will yield 50Mhz=10Mhz or10/ 2 PLL_setup(myPll,PLL_Multiplier_10,PLL_DivideSelect_ClkIn_by_2); //Disable the PIE and all interrupts PIE_disable(myPie); PIE_disableAllInts(myPie); CPU_disableGlobalInts(myCpu); CPU_clearIntFlags(myCpu); rather than the older header version - e.g. // Step 1. Initialize System Control using example function is found in the F2806x_SysCtrl.c file. InitSysCtrl(); // Step 2. Initalize GPIO using example found in the F2806x_Gpio.c file InitGpio(); // Step 3. Clear all interrupts DINT; // Initialize PIE control registers to their default state as found in the F2806x_PieCtrl.c file. InitPieCtrl(); // Disable CPU interrupts and clear all CPU interrupt flags: IER = 0x0000; IFR = 0x0000; . . . 5. Since you are a TI developer who has developed some of the F2802x family drivers, I thought that you should be made aware of my interest in ongoing C2000 Piccolo driver library support and improvements. Please let me know if there are further releases of driver code planned or in the works! Cheers, Gordon
  • Create New...