Anda di halaman 1dari 15

Module1

Terminology/CheatSheet



Thisdocumentisforinformationpurposesonly.Thedocumentdoesnotprovidetechnical,
medicalorlegaladvice.Viewingthisdocument,receiptofinformationcontainedonthis
document,orthetransmissionofinformationfromortothisdocumentdoesnotconstitutean
attorneyclientoranyotherrelationship




Terminology/CheatSheet

TableofContents

ProjectDescription 2

ProjectDifficulty 2

PartsList 3

Terminology(Beginner)

Acronyms(DragonBoard410c)
.... 4

Acronyms(General)
.. 5

FrequentTerminology
... 6

Concepts(Beginner)


HighandLowLevelProgramming
..... 7

ObjectOrientedProgramming
....... 8

CProgramming(Systems/Applications)
... 9

Root/Superuser
.. 10

LevelsofAbstraction
. 11

(Beginner)
SupplementalMaterial

UNIX
........ 12

MSDOS
...... 13

DragonBoard410c
. 13

References 14

092015REVA 1


Terminology/CheatSheet


Terminology/CheatSheet

Thisdocumentwillcovermostofthebasicinformationthatwillbecoveredorusedinthe
followingmodules.Itwillhelptohaveknowledgeofinformationinthisdocumentbecauseitwill
beusefullateronhopefullyclearingupanconfusionyoumayhaveinthefuture.Youmayalso
usethisdocumentasareferencesheetyoucanuseincaseyouhaveforgottensomethingthat
ismentionedinafuturemodule.


Name :Terminology/CheatSheet

ProjectDescription :Studentswillberequiredtowatchallvideosanddosomeextraresearch
ontheterminologyandconceptspresentedinthisdocument.Beginnerstudentswhoare
unfamiliarwithmanyoftheacronymsusedubiquitouslyinthetechworldanddonothavea
stronggraspovertheconceptsofdifferentprogramminglanguagesshouldwatchallthelessons
forthisvideo.

ProjectDifficulty :
EstimatedTime :3hours
HWDifficulty :1/10
SWDifficulty :1/10

NeededMaterials :SeeBillofMaterials











Note
:
DragonBoard410c
Ensurethe isconnectedtoadisplay
Ensurethecorrectpowersourceisconnectedtothedevice(DC12V,2A)
WARNING :Exceedingtherecommendedpowercoulddamagethedevice
EnsurethedevicehasUSBdebuggingenabled(Androidusersonly)
DragonBoard410c
Ensurethe isconnectedtoacomputer



092015REVA 2


Terminology/CheatSheet

PartsList
:
a. DragonBoard410c
b. HDMItoHDMIorHDMItoDSIcable
c. Monitor
d. KeyboardwithUSBcapability
e. MousewithUSBcapability




092015REVA 3


Terminology/CheatSheet

1Terminology(Beginner)

Thissectionwillcovermostoftheacronymsandtermsthatwillappearinlatermodules.

1.1Acronyms(DragonBoard410c)

HereareafewlistsofacronymsrelatingtoyourDragonBoard410calongwithashort
description:

Pins
allowsboardtoworldinteractions

GPIOGeneralPurposeInput/Output
Nospecificpurposeuptotheuser.Sends/receivesdigital(1/0oron/off)
signals.[Wewillbeusingthispinformostofourpurposesthroughoutthe
seriesofcourses.Wewillnotbeusingtheotherones,however,theyarevery
powerfulpinsandonemayusethemtodevelopmoreadvancedprojects.]vs[
Thesewillbetheonlypinsusedinthis(andlater)courses.However,theother
pinsarestillveryusefulandyoumayusethemformoreadvancedprojects.]
MPP MultiPurposePins
LikeGPIOs,slowerbutcansend/receiveawiderrangeofsignals(analog)
I2C
InterIntegratedCircuit
Allowsforcommunicationbetweencomponentswithintheboard
UART UniversalAsynchronousReceiver/Transmitter
Usedforserial(bitbybit)andparallel(allatonce)communication
SPI
SerialPeripheralInterface
Usedforshortdistanceserialcommunication
PCM PulseCodeModulation
Usedtodigitallyrepresentananalogsignal




Ports
usedtoattachperipheralstotheboard

HDMIHighDefinitionMultimediaInterface
OneHDMIport,allowsyoutoconnecttheboardtoamonitor/screen
USB
UniversalSerialBus
TwoUSBports,normallyusedtoattachakeyboardandmousetotheboard
MicroUSB MicroUniversalSerialBus
OneMicroUSBport,usedmainlyfortheAndroidDebugBridge(coveredlater)
DC
DirectCurrent(PowerAdapter)
Usedtosufficientlypowertheboard(12V)


092015REVA 4


Terminology/CheatSheet

SD
SecureDigital
KnownasanSDcard.Thereisaslotforoneontheboard


Components
hardware/software

eMMC EmbeddedMultimediaCard
Flashmemoryontheboard(embedded)andnotanexternalstorage
RAMRandomAccessMemory
Volatilememory(forquickread/writeaccess)
WiFi
Notanactualacronym
BrandingtermthatbeatoutIEEE802.11standard
GPSGlobalPositioningSystem
Usedtodeterminelocation
ARMAdvancedRISCMachine
UsedtobeknownasAcornRISCMachines,thisisthekindofinstructionset
theDragonBoard410csprocessoruses
RISC
ReducedInstructionSetComputing
CPUdesignusedtoimproveperformancebyusingsimplifiedinstructions
(usingfewercyclesperinstruction)

1.2Acronyms(General)

Thefollowinglistcontainsacronymsthatnamessomethingthatwillbeusedinalatermodule:

IoTInternetofThings
Thenewage,anenvironmentinwhichobjects,humans,andevenanimalscan
communicateandsendinformationwithouthumantohumanor
humantocomputerinteraction.
OSOperatingSystem
Softwarethatcontrolsallofthecomputerssoftware/hardwareoperations.
IDEIntegratedDevelopmentEnvironment
Softwareapplicationwhichprovidescomprehensivetoolsforprogrammersfor
softwaredevelopment.
SDKSoftwareDevelopmentKit
Softwaredevelopingtoolsusedtocreateapplicationsforacertain
software/hardwareplatform(i.e.Android)
NDKNativeDevelopmentKit
ToolusedtowriteprogramsinC/C++forAndroiddevices
AVDAndroidVirtualDevice
ToolwhichallowsonetoemulateanactualAndroiddevicevirtuallyonones
computer.
ADBAndroidDebugBridge



092015REVA 5


Terminology/CheatSheet

CommandlinetoolwhichletsonecommunicatewithaconnectedAndroiddevice
oranemulatedvirtualdevice
APKAndroidApplicationPackage
Fileformatwhichisusedfordistributingandinstallingapplicationsoftwareon
Android
APIApplicationProgrammingInterface
Setofroutines,protocolsandtoolsforbuildingsoftwareapplications
SoCSystemonChip
Explainedinfurtherdetailinthesupplementalsfurtherinthedocument.
SoMSystemonModule
Explainedinfurtherdetailinthesupplementalsfurtherinthedocument.

1.3FrequentTerminology

Hereareasometermsthatwillbeusedlaterthatyoumayormaynotbefamiliarwith.Thisisto
alsoremoveanyambiguitywhenusingtheterms(i.e.BoardistheDragonBoard410c,nota
skateboardoraboardgame.)

Board ReferstotheactualDragonBoard410c
Bootstartingyourboard(Pluggingitinandgettingtostartscreen).
Terminal ashell/commandline.TerminalonUnixsystems.CommandPrompton
Windowssystems
AndroidStudio anIDEfordevelopingAndroidapps
DipSwitches bootswitchesonbackofboard
Scriptanexecutablefile(automatesaprocess)
Fastboot amethodtoinstallanOSusingaUSBandacomputer
Flashing overwritingexistingOSorfirmware












092015REVA 6


Terminology/CheatSheet

2Concepts(Beginner)

Theconceptsthatarecoveredinthissectioncontainsinformationregardingsometopicsthat
mayimproveyourunderstandingoffuturemodulesandevenyourownpersonalprojects.

2.1HighandLowLevelProgramming

HighLevelProgramming(Java,Python, LowLevelProgramming(Assembly,
etc) MIPS,etc)
Simplersyntax,easiertoread Extensivesyntax.Oftenmorelinesofcode
UseofbracketsinJava.Useofindentation Numerouslinesofcode.Separatelineof
insteadofbracketsinPython codeforeverysingleoperation.
Onelineofarithmeticcodecancarrymany
processes.

Manyabstractions(i.e.ObjectOriented) FewerAbstractions

ExampleofAbstraction: Icanhaveananimal Thescenarioexplainedontherightwouldnot
class.Adogwouldderivefromananimalclass,as besoeasilypossibleinLowLevel
wouldacat.Icanaskeachanimalforitsage,size, Programming.Eachspecificanimalwouldneed
etc.Thisinfoisidentifiedascommonamongboth itsownimplementationfromtoptobottomand
animals. cannotjustderivefromoneabstractparent
class.
Icandealwithanimalsusingcommonmethods
suchasspeak,eat,etc.Icanaddanewanimal
latersuchasaparrotandmostofmycodewould
stillremainunawareofthisaddition.The
implementationofparrotworriesonlyaboutparrot
particularities,whileIcancontinuetoderivethe
commonalitiesfromanimalclass.

AutomatedProcesses LackofAutomatedProcesses
Thisreferstoanumberoffunctionalities Eachandeverytaskmustbespecified
thattheprogramminglanguagecarriesout bytheprogrammer.Notaskis
withoutdirectinputfromtheprogrammer. automaticallyassumedandcarriedout.
Agoodexampleismemorymanagement. Agoodexampleis,eachandevery
InJava,agarbagecollectorclearsunused variablemustbemanagedviathe
memorysuchasuninitializedvariables. registers.Onemaynotjustleave
memoryleaksoritcancausedangerous
securityhazards.



092015REVA 7


Terminology/CheatSheet

NotasClosetoHardware ClosetoHardware
Inhighlevelprogramming,theprogram LowLevelProgrammingdealsdirectly
getsconvertedtolowlevelprogramand witharithmeticandlogicoperators,and
thencarriesoutthenecessaryfunctions. registers.Therefore,isconsidered
Butdoesnotgivetheprogrammerasmuch closertothehardware.
controlovereachindividualoperation,and
thusthehardware,aslowlevel
programming.

Amoredetailedexplanationcanbefoundonthefollowingwebsite:
http://www.codecommit.com/blog/java/defininghighmidandlowlevellanguages

2.2ObjectOrientedProgramming

ObjectOrientedProgrammingisoneaspectofhighlevelprogramming.Eachclassistreatedas
itsownobject.

Advantages
CodeReuse/Recycling
Youcancreateoneparentclasswithcommonalitiesthatcanbeappliedacross
variousobjects.AgoodexampleofthisisgiveninthetableaboveintheHigh
andLowLevelProgrammingsection.

Encapsulation
Theideaofhidinginformation.Soavariable/methodcanbesenttoprivateby
defaultandcanbegivenexternalpermissioninacontrolledway.Reducescode
interferences.

DesignBenefits
SincemuchofOOPisbasedaroundinheritance,thereisanextensive/longer
planningphase.Thisalsomeansthattherearelessflawsintheendproductand
anyflawsthatdooccurcanbeeasilyfixedwithouthavingtoredotheentire
program.

Disadvantages
Size
Greaternumberofprogramstocompileandexecuteatask

Speed
Thisincreaseinsizealsoslowsdowntheprogram.



092015REVA 8


Terminology/CheatSheet

2.3CProgramming(Systems/Applications)

Advantages
Portable
Portabilityreferstohowyoucanwritethecodeononemachineandexpectitto
runexactlythesameonanothermachine.Thismeansthatyoudonthaveto
rewritecodeondifferentmachinestoperformthesametask.(i.e.ifyouhaveto
dealwithregisters,differentmachinesmaydealwithregistersdifferentlymeaning
youwouldhavetoalteryourcodetomakeitwork).

Extensivelibrariesforuse
Librariesrefertoalreadyimplementedfunctions(usuallytendstobemore
generalratherthanspecificuse)thatyoucanimport/usetohelpyourown
program/codedosomething.(i.e.importingprintfunctions)

Systemsprogramming(ProcedureOriented)
Veryconduciveforprogrammingonsystemsandhardware.SinceCisin
betweenlowandhighlevelprogramming,itgivesyoumorecontroloveryour
memoryandhardwarelikealowlevellanguagewhilestillmaintainingmanyof
thecomponentsofahighlevellanguage.

Midlevel
Levelreferstoalevelofprogramming.Thiswascoveredmoreindepthearlier
on.MidlevelisagoodplacetoputCProgrammingbecauseithaselementsof
highandlowlevellanguages.(i.e.automatedregisterhandlingbutnoautomated
garbagecollection/memorycleanup).

Disadvantages
NoObjectOrientedProgramming
Doesntallowobjectorientedprogrammingfeaturessuchasinheritance.Youcan
emulateinheritancebyusingnestedstructsbutstrictlyspeaking,Cdoesnot
haveinheritance.C++,theupgradedversionofC,doeshowever,haveOOP
capabilities.

Veryloosetypechecking
ThisreferstohowChandlesitsdata.Everythingisstoredasbitsandusedas
bits.Soifyoustoreavariableasacharacter,itwillmakethecharactertype
pieceofdatawiththebitvaluesofwhateveryouveassignedthatvariable.Butif
youpassthatcharacterasaninputtosomethingthatrequiredanint,Cwilluse
thebitvalueofthecharacterandtreatitasaninteger.Thiscouldresultinodd
outputfromyourfunctions.




092015REVA 9


Terminology/CheatSheet

2.4Root/Superuser

Therewillbetimesyoursystemwilltellyouthatsomethingcannotbedone(warnings/safety
precautionsonyourmachine).Thisismostlikelybecausethemachineisstoppingyoufrom
doingsomethingthatshouldnotbedoingnormally.However,therewillbetimeswhenyouwant
tochangesomething(i.epermissionsofafile)soyoucandosomekindoftask.

Tobeabletoeditfilesyounormallycouldnot,orevenaccess/readcertainfiles,youwillneedto
beasuperuser(alsocommonlyknownasarootuser).MaybeyouveheardofarootedAndroid
devicethisbasicallyreferstohowtheuserhasbecomearootuserontheAndroiddeviceand
isthereforeabletomodifyfilesontheirdevicethatnormallywouldbeuntouchable.Tobecome
asuperuser,youwouldexecutethecommand su(sometimesyouwillneedtouse
sudosu),
yoursystemwillaskforyourpassword(ifyouvesetone).Afterthisstep,yourenowa
superuser.Prettysimple!Thiswillmakeitsoeverythingyoudofromnowonwillbeexecutedas
asuperuser.

Beverycarefulwhenyoureinthismode!!!Youarebasicallytellingyoursystem,Listen,Iknow
whatIamdoingandyoucannottellmeotherwise.Thereforeyoucoulddosomethingthat
wouldruinyourOS,andthusmaybeevenlosinglotsofvaluabledata.Withthatinmind,aslong
asyoudosomeresearchbeforehand,youshouldnotworrytoomuchaboutruiningyour
system.Toquitbeingasuperuser,issuethecommand exit
.

Note:Ifyouonlywantedtomakeasmallchangetojustonefile,orexecuteacommandthat
onlyasuperusercan,youcanuse sudoinfrontofyourcommand.Thiswillexecutewhatever
comesafterthesudo(superuserdo)withouthavingtoenterthesuperusermode.



092015REVA 10


Terminology/CheatSheet

2.5LevelsofAbstraction



Theabovechartisaoutlineofallthelevelsofabstractionfromthehardwaretothesoftware.
Thehighestlevelsofabstractionareatthetopwithhighlevelprogramming.Thenasyoucome
downthechart,youseefewerandfewerabstraction.Thelowestlevelbeingbinarycode.Which
issimplyavery,verylongstringofjust1sand0sthatthehardware(specificallythetransistors
inthehardware)willinterpretandcarryoutphysicalfunctions.Atransistorwillreada1asturn
onandthetransistorwillturnon,and0willbereadasturnoffandthetransistorwillturnoff.
Billionsoftransistorsworktogetherinacomputerinthisfashiontocarryoutallthethingsyou
doonacomputer.



092015REVA 11


Terminology/CheatSheet

3SupplementalMaterial(Beginner)

Inthissection,thisdocumentwillcoversomesupplementalmaterialthatmaybehelpfulforthe
future.Theinformationheremayalsobeusefulforfutureprojectsaswell!

3.1UNIX

OnUNIXmachines,thereisaveryusefultoolknownastheTerminal(orcommandline).This
allowstheusertointeractwiththeirsystemmoreclosely(i.e.modifysystemfiles).

Somecommandsorkeywordsthatwillbeusefulforlater:
lsliststhecontentsofthecurrentdirectory
cd changesdirectorymovetoadifferentplaceonyoursystem
echo prints/callssomethingouttotheterminal
cat outputscontentsofafiletosomewhereelse(terminaldefault)
export usedtocreateapathvariable
sudo executeacommandasasuperuser
(sudo)su entersuperusermode(puttingsudoinfrontofeverything)
chmod changesfilepermissions(read,write,execute)
exit/quit exit/quitcurrentmode(exitrootorquitsterminal)
~homedirectory
.
currentdirectory
..
parentdirectory
./
executesfiles

Someothercommandsthatmightbeusefultoyouforotherprojects:
mkdir Createanewfolder
mv moveafiletoanotherlocation
cp copyafiletoanotherlocation
pwd printsoutthecurrent(working)directoryyouarein
rm removeafile
rmdir removesanemptydirectory(willnotallowyoutodeleteafolderwithitemsinit)
rmdirr removesadirectory(folder)alongwithitscontents
clear clearstheterminal
man displaysamanualofacommand(i.e.manlswillexplainhowlsisused/works,
mayalsouse info
instead)
!!
repeatacommand(canalsousearrowkeystocyclethroughpreviouscommands)

Ifyouveeverwantedtocancelacommandorquitsomethingtheterminalisrunning,hit
control+cwhileintheterminalwindow(bothLinux/Mac).

AllUnixterminalcommandscanbefoundonthefollowingwebsite:
http://ss64.com/bash/



092015REVA 12


Terminology/CheatSheet

3.2MSDOS

OncomputersrunningWindows,thereisabuiltcommandlinecalledWindowsCommand
PromptorcommonlyreferredtoasMSDOScommandprompt.Itissimilartotheterminalon
Linuxsystems,butsomeofthecommandsaredifferent.

Somecommandsorkeywordsthatwillbeusefulforlater:
dir liststhecontentsofthecurrentdirectory(equivalentoflsonUnix)
cls clearsthecommandscreen.(equivalenttoclearonUnix)
copy copiesoneormorefilestoadestinationyouspecify
echo prints/callssomethingouttotheterminal
del deletesafile
undelete restoreadeletedfile
print printthecontentsofafile.
mkdir Makeanewfolder

AllMSDOScommandscanbefoundonthefollowingwebsite:
http://ss64.com/nt/

3.3DragonBoard410c

SoC Systemonachipisanintegratedcircuitchipwithallthecomponentsofacomputeron
asinglechip.ItusuallyrunsafullyoperationalOSonit.AverygoodexampleofaSoCisthe
QualcommAPQ8016chipontheDragonBoard410c.

Microcontroller Asmallcomputeronasingleintegratedcircuitchip.Containsprocessorcode
andprogrammableI/Operipherals.However,itdoesnothaveaOSlikeanSoC.Agood
exampleofamicrocontrollerisanArduino.

SoM SystemonmoduleisabareboneSoCwithouttheperipherals.InbetweenanSoCand
amicrocontrollerandneedsDevelopmentKittoprogramandpushinformationontoit.

EmbeddedSystems Overarchingtermthatencompassesalltheaforementionedterms.A
combinationofsoftwareandhardwarethatisdesignedforaparticularfunctionality.






092015REVA 13


Terminology/CheatSheet

References

AllMSDOScommandscanbefoundonthefollowingwebsite:
http://ss64.com/nt/

AllUnixterminalcommandscanbefoundonthefollowingwebsite:
http://ss64.com/bash/

SoC https://en.wikipedia.org/wiki/System_on_a_chip

Microcontrollerhttps://en.wikipedia.org/wiki/Microcontroller

SoM https://en.wikipedia.org/wiki/System_on_module

EmbeddedSystems https://en.wikipedia.org/wiki/Embedded_system

High/LowLevelProgramming
http://www.codecommit.com/blog/java/defininghighmidandlowlevellanguages

RAM https://en.wikipedia.org/wiki/Randomaccess_memory

ARM https://en.wikipedia.org/wiki/ARM_architecture

RISC https://en.wikipedia.org/wiki/Reduced_instruction_set_computing

IDEhttps://en.wikipedia.org/wiki/Integrated_development_environment

DragonBoard410cAndroidUserGuide

DragonBoard410cLinuxUserGuide



092015REVA 14

Anda mungkin juga menyukai