⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 read.me

📁 tms320c6201下的UCOS
💻 ME
字号:


uC/OS-II for the Texas Instruments TMS320C6201 DSP
                     Small data memory model

         Port by : Kenneth Blake (ken@oberon.se, www.oberon.se)
                         June, 1999



Note the Code is WITHOUT ANY WARRANTY whatever; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 



SOFTWARE IMPLEMENTATION
I have put the mailboxes,semaphores and queues within a structure named
KERNEL. I have done that because the TI debugger is good when
displaying a structure and the internals of it.

I have deleted error handling code as this clutters the code. (You should 
have an error handling task that takes care of errors.)

The Texas Instruments C compiler version 3 is used with the following 
switches: 

cl6x -b  -pdv -g -ss -s -q -mw -mi50 -o3 -on2 -os -x2  -fs..\work *.asm ..\source\OS_CPU_a.asm
      *.c -fr..\work -z link.cmd -l rts6201.lib -o kernel.out

And by executing the bat file a.bat You get a complete compilation of all files
and a resulting "kernel.out" file.





DIRECTORY STRUCTURE
   SOURCE-->uC/OS source code files 
			UCOS_II.C
			OS_CORE.C
			OS_MBOX.C
			OS_MEM.C
			OS_Q.C
			OS_SEM.C
			OS_TASK.C
			OS_TIME.C

   TIC6201-->DOC   
			 read.me

		  -->SOURCE  TMSC6201 port files
		     OS_CPU.ASM
			 OS_CPU.C
			 OS_CPU.H

		  -->TEST
		     An example of a working uC/OS Kernel.
			 with a "batfile" a.bat that makes all.

		  -->Work
		     A directory where the compiler has its
			 temporary files.


INTERRUPT HANDLERS
The KERNEL interrupt handlers sends an event to a task signaling that the
event has occured. This is a neat way for enabling the system to quickly respond
to interrupts and resume its priority event driven behaviour again.

SYSTEM TIMER
The timer executes with 1 millisec. The time can be lower as the
kernel's cpu load is very low.

TASK SWITCHING TIME
Lower than one microsecond. Normally 500 nanoseconds.


DEVELOPMENT SYSTEM
The code is made and tested with the Texas Instruments TMS320C6201 EVM board
running at 133 MHz.
To initialize the EVM board You should initialize it with : Evm6xrst.exe -i1 -m0 

"LINK.CMD"
The linker command file puts the program code within the internal memory of the DSP.
I have divided the internal data memory so that the variables have the first 32 kbytes and 
the other is used for some structures and task stacks.

"INIT.CMD"
A file for the debugger, The windows 95/98 icon property may look like :
C:\evm6x\Bin\evm6x.exe -n cpu_a -x -p 0 -t init.cmd


ADDITIONAL INFORMATION :
The implementation of the OS_ENTER_CRITICAL() OS_EXIT_CRITICAL() and the
task switching allows for special interrupt drivers to be executed autonomous
of the Uc/OS Kernel. There is sometime a need to have software for a fast 
interrupt driven hardware part requiring a short latency time.
This is made possible by selecting which interrupts that are always allowed 
and which interrupts that are not allowed to execute when the kernel is
executed.

If You put the Uc/OS source code within the directory that Your
application is, change "a.bat", it is possible for the debugger to 
single step through all of the internal Uc/OS code also.


Have fun
  Kenneth Blake
  Oberon Data och Elektronik AB
  Box 242 
  SE177 24 Jarfalla
  Sweden
  +46 8 580 33000
  ken@oberon.se

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -