{"id":19297298,"url":"https://github.com/kiml/PSOC_compiler","last_synced_at":"2025-04-22T09:30:36.912Z","repository":{"id":22399044,"uuid":"25736131","full_name":"kiml/PSOC_compiler","owner":"kiml","description":"Tutorial/starter code for setting up GCC for PSOC5 (ARM) in an open-source baremetal configuration.","archived":false,"fork":false,"pushed_at":"2014-11-03T17:15:02.000Z","size":203,"stargazers_count":33,"open_issues_count":3,"forks_count":6,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-11-09T23:02:28.737Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"ledgersmb/LedgerSMB","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kiml.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-10-25T15:32:41.000Z","updated_at":"2023-08-11T22:00:17.000Z","dependencies_parsed_at":"2022-08-20T12:20:46.903Z","dependency_job_id":null,"html_url":"https://github.com/kiml/PSOC_compiler","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kiml%2FPSOC_compiler","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kiml%2FPSOC_compiler/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kiml%2FPSOC_compiler/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kiml%2FPSOC_compiler/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kiml","download_url":"https://codeload.github.com/kiml/PSOC_compiler/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250214966,"owners_count":21393705,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-09T23:01:50.776Z","updated_at":"2025-04-22T09:30:36.380Z","avatar_url":"https://github.com/kiml.png","language":"C","funding_links":[],"categories":["C"],"sub_categories":[],"readme":"##PSOC_compiler\n\n#####Summary\nDemos for writing and compiling bare metal programs for PSOC5 using open source tools.\n\n#####Purpose\nTo demo ARM Cortex M3 low level development with specific reference to PSoC.\nTo provide some open source support for the PSoC.\n\n#####Requirements\n* ARM GCC cross compiler\n* A Cypress CY8CKIT-050 dev kit (to actually run programs)\n\n#####See Also\n* https://github.com/kiml/PSOC_programmer.git\n* http://dfusion.com.au/wiki/  The ARM Embedded pages:\n    - PSoC5 bare metal\n    - PSoC5 programmer \n    - GCC Linker\n\n#####Additional Uses\n* A simple general purpose embedded LCD printf library\n\n#####License\n* All code is released under GPL v3 except for any third party files which have their original license included.\n\n#####Raison d'Etre\n* Cypress put out a free but closed source MS Windows development environment. They do provide GCC but pretty much everything else is proprietary which is fine but:\n  - I like the PSoC feature set (basically ARM CPU, mxied signal FPGA, decent analogue)\n  - I wanted to learn more about internals of the ARM Cortex M3 chip used\n  - I wanted to program the PSoC under Unix.\n\nShort version - the mountain was there so I climbed it :-)\n\n\n#####Getting Started\nTo use the programmer, edit conf/programmer.mak and change the UTILSPATH to point to the directory that contains bin/ and config/ of the programmer git repo.\n\n#####Dirs\n\n* demo1 - A basic demo to get started with bare metal. It's more about showing the compiler/linker options and interacting with the peer programmer tools than making a working program.\n* demo2* - Hello World. This is a minimal working PSOC5LP program that flashes lights and outputs to the LCD\n    demo2a - no config.hex, 'std' nm.hex, all config done in code.\n    demo2b - Cypress compat config.hex, 'std' nm.hex, config done in mix code/data. Basically  Cypress devkit model, but open source code.\n    demo2c - My own app_data config format. Removes need for much custom register init config in code. 'std' nm.hex??. Config format is NOT Cypress compatible.\n    demo2d - democ2c + cmsisv1.3\n\n* demo3 - Compiling a Cypress devkit app (partial)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkiml%2FPSOC_compiler","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkiml%2FPSOC_compiler","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkiml%2FPSOC_compiler/lists"}