Nucleus
| AVM Wiki >> Lexikon >> Nucleus | @ whmf - IRC-Chat - hu nl it English |
| Community | Modelle | Zubehör | Environment | Konfiguration | Shell-Befehle | Software | Freetz | Lexikon | Tipps+Tricks | Bilder |
| Hardware | System | Netzwerk | Dienste | Telefonie | Multimedia | Automation | Business | Extras | Sonstiges | Todo |
Contents |
Begriff
| Begriff: | Nucleus - Wikipedia | Wiki | Freetz | IPPF | whmf | AVM | Web |
| Kurz für: | - | ||||||
| Variante: | Nucleus Plus | Wiki | Freetz | IPPF | whmf | AVM | Web |
| Bedeutung: | RTOS von Accelerated Technology die seit 2002 Teil von Mentor Graphics sind. | ||||||
Nucleus ist ein sehr kompaktes Echtzeit-Betriebssystem (RTOS) für Embedded Systems. Es wird vielfätig eingesetzt und Varianten davon sind noch heute top-aktuell. Nucleus wurde von vielen Firmen lizensiert, von der NASA bis hin zu Texas Instruments, Infineon und Xilinx. Die Variante Nucleus PLUS, die auf zahlreichen Prozessoren läuft, wurde auch in AVM-Geräten mit UBIK Chips eingesetzt, wie z.B. in den FRITZ!Box-Modellen 5050 und 7050.
Xilinx, Lieferant der Spartan-FPGA in allen Nachfolgermodellen ohne UBIK Chip liefert auch einen Soft-IP-Core, die MicroBlaze-CPU auf der Nucleus Plus läuft, und die Mentor Graphics EDGE tools als Entwicklungsumgebung zu ihrem Spartan-3E Starter board. Es könnte daher durchaus sein das die CAPI-Stacks der Spartan-FPGA FRITZ!Box Fon Modelle auch heute noch in IP-Cores unter Nucleus PLUS laufen.
Nucleus PLUS
In den Firmwares der Chips UBIK-1 (z.B. im BlueFRITZ! AP-ISDN) und UBIK-2 (z.B. in der FRITZ!Box Fon WLAN 7050) kommt die selbe Nucleus Plus Version für ARM Prozessoren zum Einsatz:
Copyright (c) 1993-2001 ATI - Nucleus PLUS - Version ARM 6/7/9 1.13.21 G,M,D,GB,GL,AG,KL,CR,HR,NH,DL,BH,LP,AP,HA,ME,KC,KH,GF,RG,HS,DS,KY,BC,LC,TD Accelerated Technology Internal Use Only - Serial Number: #25589
Auch in der BME der Fusiv-Modelle läuft die Nucleus Plus Version für T1040 Xtensa Hard-IP-Cores:
Copyright MGC 2002 - Nucleus PLUS - T1040 Xtensa v. 1.13.1 G,M,D,GB,GL,AG,KL,CR,HR,NH,DL,BH,LP,AP,HA,ME,KC,KH,GF,RG,HS,DS,KY,BC,LC,TD Accelerated Technology Internal Use Only - Serial Number: NP0000
Nucleus-Shell
Zumindest in der UBIK-1 Firmware (z.B. im BlueFRITZ! AP-ISDN) ist eine Nucleus Debugger Shell mit Monitor, Disassembler, und CAPI- und Bluetooth-Erweiterungen eingebaut:
General information:
Value prefixes: # - decimal, %% - binary, o - octal, none or x - hex
Commands can be shortened as long as they are definite.
Most multi word commands (and their abbreviations) can be concatenated.
Valid casts are (char *), (short *) and (int *).
<addr> and <value> can be mathmatical expressions. (Pay attention to precedence!)
Furthermore <addr> can be ":<register>" and "=<symbol>".
Commands (nucleus):
current [<name>] show/set current task/HISR
events list all events
hisrs [+] list all HISRs [extended]
hisrs <name> [+] list named HISRs [extended]
hisrs <name> clear clear HISR statistics (on named task)
memorypools [+] list all memory pools
partitions [+] list all partition pools
pipes [+] [name] list all pipes or the named pipe
queues [+] [name] list all queues or the named queue
semaphores list all semaphores
tasks [+] list all tasks [extended]
tasks <name> [+] list specified task [extended]
go tasks <name> resume specified task
halt tasks <name> suspend specified task
tasks <name> clear clear task statistics (on named task)
timers list all timers
Commands (general):
[debug] call function-addr [param [, param]+] call function with params. [debug] no NULL pointer check
[debug] change byte <addr> <value> change the byte at <addr> to <value>
[debug] change dword <addr> <value> change the dword at <addr> to <value>
[debug] change word <addr> <value> change the word at <addr> to <value>
if debug is prefixed no memory check is performed
debug <destination> route debug to {usb,sync,async,capi,null}
debug + set StopOnAssert
debug - clear StopOnAssert
debug mac (+|-) set/clear Do_DSL_Debug_Printf
debug <level> set all debug id's to <level>
debug <id> <level> set specified debug id <id> to <level>
debug <id> <sub-id> <level> set specified debug id <id>/<sub-id> to <level>
dump bytes [<addr> [<count>]] dump <count> bytes from <addr>
dump dwords [<addr> [<count>]] dump <count> dwords from <addr>
dump words [<addr> [<count>]] dump <count> words from <addr>
eval(b|o|d|x) <expression> evaluate <expression>, display as bin/oct/dec/hex
go [+|-] go (disable watchdog | trace EXCEPT)
halt halt
help / ? this help text
performance show performance counter status
performance help list the performance counter event IDs
performance set <number> <id> [<count>]
set performance counter <number> to count <id> events.
Optionally trigger an exception after <count> hits.
registers [<task>] display registers of (new) current task
stack [<task>] [<lines>] show <lines> lines of <task>'s stack
symbols <name> show the symbol <name>
symbols <addr> show the symbol <name> near to addr
debug symbols show the number of symbols
debug symbols + show the dynamic symbols
reset reset card
unassemble [<addr> [<count>]] unassemble <count> instructions from address <addr>
update jump back to 'urlader' for update
version print version string (and BD_ADDR, if available)
[debug] * [cast] <addr> = <value> set contents of <addr> of type <cast> to <value>, [debug] no addr check
User commands:
write bluetooth <value> write 00:04:0e:<value> as new BD_ADDR
write mac <value> write 0x00040e<value> as new mac address
write serial "string" write 8/16-byte serial string
user 1-7 some Tests: 1 WD, 2-4 MMU, 5 SWI, 6 HW Error, 7 Timermax
Watchpoint management:
watchpoints show watchpoint status
watchpoint enable <number> enable the watchpoint (range) <number>
watchpoint disable <number> disable the watchpoint (range) <number>
watchpoints mode switch data and<->or instruction watchpoint checking
watchpoints set <number> <address> [<count>] [enabled]
set watchpoint <number> at <address> which triggers
after <count> hits, if enabled
watchpoints set <number> data <address> [<count>] [(nodag0|nodag1)] [(noread|nowrite)] [enabled]
Set data watchpoint. Optionally ignore access via DAG0 or DAG1
or read or write access.
watchpoints set <number> range <from> <to> [<count>] [exclusive] [enabled]
set watchpoint <number> for the range (exclusive)
<from> - <to>. Trigger after <count> hits, if enabled
watchpoints set <number> data range <from> <to> [<count>] [exclusive] [(nodag0|nodag1)]
[(noread|nowrite)][enabled]
set data watchpoint range as explained above.
find bytes <from> <to> <value> [<count>] find byte <value> in the range <from> - <to>
find words <from> <to> <value> [<count>] find word <value> in the range <from> - <to>
find dwords <from> <to> <value> [<count>] find dword <value> in the range <from> - <to>
Capi stack commands:
applid list all registered applids
queue = <patch-value> patch QUEUE[] valiable in ISDN stack
debug memorypools go start malloc/free loggig
debug memorypools halt stop and list malloc/free loggig
Bluetooth commands:
bluetooth list all bluetooth links and piconets
write bluetooth <addr> <value> write to SIW[1502/1701] chip register
read bluetooth <addr> <value> read from SIW[1502/1701] chip register
data read alle database entries
clear flash [+] cleanup flash (+ delete asserts
clear flash bluetooth clear alle link key entries from flash file system
clear flash bluetooth <entry> clear <entry> link key entries from flash file system
read flash [number of entries] read entires from flash file system
Artikel zum Thema
- TODO
Siehe auch
FBox-Fon2: (27)
- Geräte: 5050, 7050
- Listings: 7050 Listing
- Lexikon: UBIK2, ASIC, RTOS, Nucleus, Accelerated, Mentor, IPAC-X
- ShellEnv: CONFIG_UBIK2, CONFIG_CAPI_UBIK
- Befehle: rc.ubik, ubik2_boot
- Kernel: isdn_fbox_fon2.ko, ubik2.ko
- Devices: ubik_boot_0 , ubik_boot_1, ubik_boot_2, ubik_boot_last
- Devices: ubik_debug, ubik_dsp_loopback, ubik_through_data, ubik_remote_loopback
- Firmware: boot-ubik2-sport.lod, ubik2-firmware.lod
Elektronik: (113)
- System: CPHAL, HAL, CPU, DSP, C55x, C62x, ADSP, SoC, RISC, CISC
- System: IP-Core, SIP-Core, 4KEc, 24KEc, 34Kc, VPE, Avalanche, AR7, UR8, AR9, VR9, Puma5, Fusiv, DaVinci
- System: RTOS, Nucleus, ThreadX
- Speicher: EMIF, MTD, RAM, SRAM, DRAM, SDRAM, ROM, PROM, EPROM, EEPROM, Flash-EEPROM, NAND-Flash, MMC
- Peripherie: Interrupt, UART, MCSP, TDM, VLYNQ, CPPI, GPIO, FPGA, Spartan, EJTAG, ISP1106, TNETV115
- Netzwerk: KS8721, ADM7001, ADM6996, PSB6970, AR8216, AR8316
- Internet: Hybrid, AFE, AGC, PGA, AEQ, CPSAR, SAR, PDSP, TNETD80, VINAX-CPE, StratiPHY, IFE-6
- Wireless: Mini-PCI, U.FL, ACX-111, TNETW1130, TNETW1350, TNETW1450, RFFE
- Wireless: AR5416, AR5133, AR7020, AR9170, AR9220, AR9223, AR9280, AR9380, AR9382
- Wireless: SE2593, SE2595
- Wireless: Mini-PCIe, FourGee LTE UE, ALT3100, ALT6200
- Telefonie: DuSLIC, ASIC, UBIK, CPC5621, LM324, LMV324
- Telefonie: SC14428, SC14434, SC14441, SC14488, SC14450, LMX4180
- Telefonie: ISAC, HSCX, IPAC-X
- Oszillator: Taktgenerator, PLL, VCO, VCXO, DCXO
- Kontrolle: ATPG, PLT, BiP
- Sonstiges: Relais, Hardware, HWR
Links
- Mentor Nucleus RTOS Homepage
- Mentor EDGE Tools Homepage
- Xilinx MicroBlaze + Nucleus PLUS + EDGE (PDF)
- Embedded Star über Nucleus Plus
- Englische Nucleus Wikipedia Seite
- http://www.atinucleus.com/ - in den Händen von Domainhaien