1、Zephyr&Visual Studio Code:How to Develop Zephyr Appswith a Modern,Visual IDEWhy Visual Studio Code(VS Code)is so popularCurrent state of VS Code for embedded developmentDigging into VS CodeLive demoFuture topics to exploreTodays TalkJonathan Beriberiberikix,hachyderm.io/jberiFounder&CEO at GoliothCa
2、reer building developer platformsDecade in IoT;Nest,Particle,WeWorkWorking with Zephyr since 2016What is Golioth?Golioth is an IoT cloud company.We make it easy for hardware engineers to connecttheir sensors and devices to the web without needingto be a cloud expert.We use Zephyr to support the wide
3、st range ofhardware possible.We build reference designs with Zephyr and regularlybuild things using the ecosystem.VS Code is PopularQuick poll:VS Code users in the roomWho has tried VS Code?Quick poll:VS Code users in the roomWho has tried VS Code?Who uses VS Code today for non-embedded?Ex.Web,Pytho
4、n,etc?Quick poll:VS Code users in the roomWho has tried VS Code?Who uses VS Code today for non-embedded?Ex.Web,Python,etc?Who has tried to use VS Code for embedded?Globally ranked#1 IDE among devsFreeFastCross platformHighly customizableHighly configurableIDE feelsWhy is it so popular?Extensions for
5、 most thingsProgramming LangsThemesDebuggersKeymapsFormattersLinters.much more(180k+)CustomizableGUI or JSONSettings for everything:AppearanceBehaviorExtensionsGlobal or per projectConfigurableUnderstanding settings is key to unlocking all the benefits of VS Code!IntelliSenseCode NavigationRefactori
6、ngDebuggingTasksSource ControlTerminalSnippetsIDE-like featuresVS Code for EmbeddedVendor adoptionPlatformionRF Connect from NordicCircuit DojoCheck out Jareds talk after this!Coming soon:MCUXpresso from NXPDIYTargetting ZephyrDIY is the focus of this talkDigging into VS CodeIdeal embedded workflow
7、in VS CodeSmart codingBuild,Flash,Test&Debug easilyReproducible environmentsRest of this talkExtensions for embeddedConfiguring VS CodeLive demoFuture topicsExtensions for EmbeddedGeneral codingEmbedded(like Debugging)Microsoft vs community vs vendorTypes of extensionsIntelliSenseSyntax Highlighting
8、General GDB debuggingC/C+Extension Packincludes additionalextensionsC/C+Configure,build&debug CMakeIncludes presets(butnot for embedded)Included in C/C+PackCMakeAll the Python thingsMostly focused ondata science andPython web devsPythonFirst and popular opensource debugger forembeddedOpenOCD,JLink,o
9、thersRTOS awareAdvanced features likeITM graphingDebugging:Cortex DebugNewer debuggerfrom C+teamRTOS awareEarly Zephyr supportDebugging:Embedded Tools from MicrosoftIntegrated into terminalMultiple instancesConsistent across OSSerial Monitor from MicrosoftPython Environment ManagerYAML,RSTGithub Pul
10、l Requests&Github ReposRemote Development packDockerOptional,GeneralConfiguring VS CodeGUI or JSONSpecial JSON file namesSpecial file locationAutomatically loadedAutocompletionHow VS Code does configurationssettings.jsontasks.jsonlaunch.jsonextensions.json.vscode folderVS Code project fileCombine.vs
11、code filesPortable,shareableGit-friendlyWorkspaces&.code-workspaceVS Code environment fileEditor-wide configurationAlso portable,shareable&GitProfilesLive DemoPreset settings&recommended extensionsTasks for calling west to build,flash&debugUsing WorkspacesIntelliSensehttps:/ we sawFuture TopicsRemot
12、e DevelopmentDevcontainers&DockerGitHub CodespaceWrapping UpLessonsVS Code is nearly infinitely configurableFiguring what to configure is half the battleYou can use it for embedded,todayUse vendor extensions!Special Thankszmk.dev community-awesome docsMarc Goodner,C+MicrosoftThank you for attending!Come check out the Golioth booth(#41)to see hardware in action!Main site:Golioth Blog:Golioth Forum:With the Golioth Dev Tier,your first 50devices are free!golioth.ioblog.golioth.ioforum.golioth.io