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

📄 readme

📁 用于TM1300/PNX1300系列DSP(主要用于视频处理)的动态下载程序源码。
💻
字号:
This demo contains a simple pSOS based command dispatcher(see root.c), plus three sample demo commands (latency.c, task_demo.c and print_args.c). Root.c will be compiled and linked with pSOS into a code segment of type 'dynboot', and is able to load, run, and unload code segments of type 'app'. 'App's are programs which have a main(argc,argv) like entry point (see the implementation of task_demo and print_args), and are *not* self-contained: they must be loadedby an already running tm1 program. They cannot be loadedand run directly using tmsim or tmmon. Note that 'apps' lack allof the system libraries (libraries for doing i/o usingprintf, or the pSOS library). E.g. tmsize on print_args will revealthat its text segment contains only 512 bytes, which is considerablysmaller than 'normal' executables of type boot or dynboot. Systemlibraries are contained by the command dispatcher, and will be connected to during dynamic loading after whichthey can be normally used by the application.See the last two rules of the Makefile to see how 'apps' shouldbe created: linked against the dynamic pSOS library to locate the pSOS functions which they might call, and with option '-btype app'to indicate that they will be loaded by means of the dynamic loader.The build structure has been derived from one of thepSOS demo apps by setting the macro DYNAMIC in the Makefileto the value 'dynamic', and adapting root.c to implement acommand dispatcher. The macro value 'dynamic' links in the dynamic loader,allowing the command dispatcher to dynamically load the applicationfiles.The command dispatcher repeatedly accepts a command string, andinterprets the first word in this string as the name of an objectfile containing an 'app'. A task is created for running the command,and the command string is passed in argc/argv format to this task.After start, the task will attempt to load the code from argv[0],and when succeeded it will call its main function with argc/argv.When this function terminates, the exit status is printed, and the corresponding code is unloaded. In case pSOS tasks are createdby the loaded command, it is the responsibility of the command itselfto make sure that all tasks have been deleted (and certainly are notstill executing) before main terminates. Any application, for instance any .app file in the other examples,can be started using the command dispatcher; it will run in parallel with previously started and not yet terminatedapplications, to be scheduled by pSOS. When running one or moreapplications, the provided latency app can be used to sample theinterrupt latencies for a specified number of seconds (default durationis 10 seconds):> vivot.app> patest.app> latency.app 100 See also the dynlnk_demo in the $(TCS)/OS/pSOS/pSOSystem.

⌨️ 快捷键说明

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